6

在我的 c# 代码中,我有一个 double,我试图将它设置为我的 SQL Management 2008 R2 数据库中的浮点类型的值(它对应于 c# 中的一个 double,对吗?)。当我使用这种语法时

double x = (double)reader["column1"]; //reader is SqlDataReader object

我收到错误“指定的演员表无效”。

是什么赋予了?

4

3 回答 3

7

您可以简单地GetDouble直接:

reader.GetDouble(reader.GetOrdinal("column1"))
于 2012-08-01T19:45:04.480 回答
7

我建议使用可通过 SqlDataReader 对象获得的帮助类...

double dbl = reader.GetDouble(reader.GetOrdinal("DoubleColumn"));

如果该列有可能为空,您应该考虑到这一点......

double dbl = (reader["DoubleColumn"] != DBNull.Value ? dr.GetDouble(dr.GetOrdinal("DoubleColumn")) : 0.0);
于 2012-08-01T19:48:24.453 回答
4

使用Convert.ToDouble方法:

double x = Convert.ToDouble(reader["column1"]);
于 2012-08-01T19:42:59.547 回答