我有这段代码:
public void nactiData()
{
SqlCommand cm = new SqlCommand("SELECT * FROM zajezd WHERE akce="+nc_zajezd_vyber, con);
con.Open();
SqlDataReader reader = cm.ExecuteReader();
if (reader.Read())
{
zpocdnu.Text = reader.GetInt32(31).ToString();
zcena3.Text = reader.GetDecimal(6).ToString();
}
con.Close();
}
问题是它没有读zcena3
,因为表中的数据类型是numeric
。
在微软的网站上写道,我应该用GetDecimal
阅读它,但它也不起作用。
有没有解决方案?
答案 0 :(得分:3)
(你自己已经解决了问题,但是我建议如下。)
由于您正在处理SQL Server数据阅读器,请使用GetSqlDecimal
代替GetDecimal
:
NULL
(通过返回的SqlDecimal
值的IsNull
属性)。