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="走字">
<asp:TemplateColumn HeaderText="走字">
 <ItemTemplate>
                            <ItemTemplate>
 <asp:Label id="Label1" runat="server">
                                <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")))%>
                                    <%# Convert.IsDBNull(DataBinder.Eval(Container, "DataItem.CruNumber")) ? 0 : (Convert.ToInt32(DataBinder.Eval(Container, "DataItem.CruNumber"))-Convert.ToInt32(DataBinder.Eval(Container, "DataItem.PreNumber")))%>
 </asp:Label>
                                </asp:Label>
 </ItemTemplate>
                            </ItemTemplate> 
你可以用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="走字">
<asp:TemplateColumn HeaderText="走字"> <ItemTemplate>
                            <ItemTemplate> <asp:Label id="Label1" runat="server">
                                <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")))%>
                                    <%# Convert.IsDBNull(DataBinder.Eval(Container, "DataItem.CruNumber")) ? 0 : (Convert.ToInt32(DataBinder.Eval(Container, "DataItem.CruNumber"))-Convert.ToInt32(DataBinder.Eval(Container, "DataItem.PreNumber")))%> </asp:Label>
                                </asp:Label> </ItemTemplate>
                            </ItemTemplate> 
                    
                     
                    
                 
                    
                 
         
                                    
 
                
            
         浙公网安备 33010602011771号
浙公网安备 33010602011771号