问题描述
我是菜鸟,如题当我从一个数据表中得到数据,如果这个数据是值类型的,比如money,int,single等,而这个数据随时都有可能是空值,(先不考虑客户的使用习惯或输入数据时控制其不为空)从表中获取的值为空时,怎么给textbox赋值。不知道大家能明白我说的,谢谢!代码如下:datatabledt_book=XXXX;//具体不写了表示表中有数据了varQuery=frombookindt_book.AsEnumerable()selectbook;foreach(variteminchongfuProductQuery){txtBookPrice.Text=item.Field<double>("price");txtBookNumber.Text=item.Field<Int32>("number");//如类似的赋值都有可能为空,那就是会出错,//没办法,我就改代码为这样:txtBookPrice.Text=item.Field<object>("price");txtBookNumber.Text=item.Field<object>("number");//因为object是基类,那就允许为空了,这样没问题//但object会有频繁拆、装包的问题,影响效率,不知道大家都是怎么做的,谢谢!}
解决方案
解决方案二:
item.price==null||""?"0":item.price;if(!string.IsNullOrEmpty(item.price))txtBookPrice.TextelsetxtBookPrice.Text="0";
解决方案三:
foreach(DataRowrowintable.Rows){objectvalue=row["ColumnName"];if(value==DBNull.Value)//dosomethingelse//dosomethingelse}
解决方案四:
判断一下取出的值是不是为null,如果为null可以赋值空字符串
解决方案五:
txtBookPrice.Text=item.Field<double?>("price");