Обработка NULL из базы данных в GridView - PullRequest
0 голосов
/ 21 сентября 2018

У меня есть простой GridView, который показывает некоторые значения непосредственно из базы данных.В базе данных есть столбец с именем MaxNoPlaces.Этот столбец представляет максимальную длину TextBox с идентификатором ObjectValue.Иногда проблема заключается в том, что значение в базе данных равно 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>

1 Ответ

0 голосов
/ 21 сентября 2018

Вы можете просто сделать это в SQL-запросе всякий раз, когда вы извлекаете данные, просто напишите

select ISNULL(MaxNoPlaces,0) as MaxNoPlaces FROM table_Name

, поэтому он вернет 0, если база данных имеет значение NULL.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...