我有:
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
进行比较?
答案 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
类型的重载。