处理从数据库到 GridView 的 NULL



>我有一个简单的GridView,可以直接显示来自数据库的一些值。 在数据库中有一个名为MaxNoPlaces的列。该列表示 id 为 ObjectValue 的文本框的最大长度。问题是有时数据库中的值为 NULL,当我运行时应用程序绑定失败并且无法加载页面。如何管理数据库中的 null 并将其转换为 0 在最大文本框中

?提前感谢!

<asp:GridView ID="gvMyObjects" runat="server" CellPadding="4" ForeColor="#333333" GridLines="None" CssClass="GridView" AutoPostBack="False"  AutoGenerateColumns="False" >
<AlternatingRowStyle BackColor="White" />
<Columns>
<asp:TemplateField>
<ItemTemplate>
<asp:UpdatePanel ID="UpdatePanel2" runat="server">
<ContentTemplate>
<button class="myBtn" id="Button1" type="button" data-toggle="modal" data-target="#myModal"  runat="server" ><span>Select</span></button>
</ContentTemplate>
</asp:UpdatePanel>
</ItemTemplate>
</asp:TemplateField>
<asp:TemplateField HeaderText="ID" >
<ItemTemplate>
<asp:Label ID="ObjectID" runat="server"   margin-Left="100px"  Text='<%# Bind("ObjekatID") %>'></asp:Label>
</ItemTemplate>
</asp:TemplateField>
<asp:TemplateField HeaderText="Name">
<ItemTemplate>
<asp:Label ID="ObjectName" runat="server" margin-Left="100px" Text='<%# Bind("ObjectName") %>'></asp:Label>
</ItemTemplate>
</asp:TemplateField>
<asp:TemplateField HeaderText="Value">
<ItemTemplate>
<asp:TextBox ID="ObjectValue" runat="server" margin-Left="100px" MaxLength='<%# Bind("MaxNoPlaces") %>' Text='<%# Bind("ObjectValue") %>'></asp:TextBox>
</ItemTemplate>
</asp:TemplateField>
<asp:TemplateField HeaderText="Value">
<ItemTemplate>
<asp:Label ID="Object" runat="server" margin-Left="100px" Text='<%# Bind("Object") %>'></asp:Label>
</ItemTemplate>
</asp:TemplateField>
</Columns>    
</asp:GridView>

只要检索数据,您就可以简单地在sql查询中执行此操作,只需写入即可

select ISNULL(MaxNoPlaces,0) as MaxNoPlaces FROM table_Name

因此,如果数据库具有 NULL 值,它将返回 0。

最新更新