将DataRow转换为double

时间:2017-08-19 13:46:13

标签: c# ms-access

我有:

double genAve = Convert.ToDouble(txt_genave.Text);
OleDbCommand commandSec = new OleDbCommand();
commandSec.CommandText = "SELECT [SectionName], [Strand], [ReqGrade], [GradeLevel] FROM tbl_section";
OleDbDataAdapter daSec = new OleDbDataAdapter(commandSec);
commandSec.Connection = conn;

DataTable dt = new DataTable();
DataSet ds = new DataSet();
daSec.Fill(dt);
daSec.Fill(ds, "tbl_section");

如何将ReqGrade转换为double并与genAve进行比较?

1 个答案:

答案 0 :(得分:1)

了解DataRow的定义方式会有所帮助,但基本上您需要访问要与之比较的DataRow中的特定值。如果相应单元格的DataColumn已经定义为double,则不需要转换它,否则你必须将它从它定义的任何数据类型转换为double。

DataRow row = dt.Rows[0];
var value = row["ReqGrade"]; //or row[2]
double convertedValue = Convert.ToDouble(value);

if (convertedValue == genAve) Console.WriteLine("Winner!");

您还可以通过columnIndex:var value = row[1]

访问该值

在您的情况下,我相信DataRow中值的类型将与数据库中定义的列类型相匹配。在任何情况下,您仍然可以使用Convert.ToDouble(),因为有一个object类型的重载。