【问题标题】:Convert DataRow to double [closed]将 DataRow 转换为 double [关闭]
【发布时间】:2017-08-19 13:46:13
【问题描述】:

我有:

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 进行比较?

【问题讨论】:

标签: c# ms-access


【解决方案1】:

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

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 类型的重载。

【讨论】:

  • 我已经编辑了问题先生。
猜你喜欢
  • 2013-07-31
  • 2014-07-08
  • 2015-09-02
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2013-09-13
相关资源
最近更新 更多