小二哥's blog

----zhangzs8896(小二)

导航

.Net中的DBNull类型

Posted on 2005-11-22 16:10  小二哥  阅读(710)  评论(0编辑  收藏  举报
DBNull在DotNet是单独的一个类型 System.DBNull 。它只有一个值 DBNull.Value 。DBNull 直接继承 Object 。
你可以用Convert.IsDBNull来判断一个值是否DBNull。注意Convert.IsDBNull(null)是false。

Sql Server 2000 中的数据表如下:

select * from Ele_Count
--结果如下:
TbNo       上月表底   本月表底    CT比         Month 
---------- -----------   -----------  ----------    ------
电表1        100            125             300/5        200511
电表2        200             NULL        300/5        200511

我需要在.Net的DataGrid里用一个模板列去绑定这样一个数据:"本月表底-上月表底"
在数据库中这两个字段都是int类型,但是允许为空!所以首先.Net里需要转换为int类型。
但是如果字段值为空,那肯定是转换不过去。所以需要先判断
如下代码:
<asp:TemplateColumn HeaderText="走字">
                            
<ItemTemplate>
                                
<asp:Label id="Label1" runat="server">
                                    
<%# Convert.IsDBNull(DataBinder.Eval(Container, "DataItem.CruNumber")) ? 0 : (Convert.ToInt32(DataBinder.Eval(Container, "DataItem.CruNumber"))-Convert.ToInt32(DataBinder.Eval(Container, "DataItem.PreNumber")))%>
                                
</asp:Label>
                            
</ItemTemplate>