在Datareader中处理NULL
这是我用于通过DataReader从sql读取数据的代码。 当表中存在NULL时,它会给出Error。 怎么处理?
我试过了
c.ActualWeight= dr[0] as float? ?? default(float);
这样做的问题是它成功处理NULL,但结果是Always 0,即使sql数据库在该字段中的值为1。
{ List LC = new List(); string ConString = "data source=DELL\SQLSERVER1;Initial Catalog=Camo;Integrated Security=True"; SqlConnection con = new SqlConnection(ConString); SqlCommand cmd = new SqlCommand("Select Top 17 * from Inventory_Connector", con); con.Open(); SqlDataReader dr = cmd.ExecuteReader(); while (dr.Read()) { c.ActualWeight = float.Parse(dr[0].ToString().Trim()); } LC.Add(c); } dr.Close(); con.Close(); return LC;
您可以使用SqlDataReader.IsDBNull
检查数据读取器中的空值。 C# null
和DBNull
是不同的。
c.ActualWeight = dr.IsDBNull(0) ? default(float) : float.Parse(dr[0].ToString().Trim());
你可以试试这个
if (dr.IsDBNull(0)) c.ActualWeight = default(float); else c.ActualWeight = float.Parse(dr[0].ToString().Trim());
c.ActualWeight = (dr[0] != DBNull.Value) ? float.Parse(dr[0].ToString().Trim()) : default(float)
使用DBNull.Value
检查空值。
上述就是C#学习教程:在Datareader中处理NULL分享的全部内容,如果对大家有所用处且需要了解更多关于C#学习教程,希望大家多多关注—计算机技术网(www.ctvol.com)!
本文来自网络收集,不代表计算机技术网立场,如涉及侵权请联系管理员删除。
ctvol管理联系方式QQ:251552304
本文章地址:https://www.ctvol.com/cdevelopment/1026703.html