加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 编程开发 > asp.Net > 正文

asp.net – 更新查询似乎删除了备注字段

发布时间:2020-12-16 07:05:56 所属栏目:asp.Net 来源:网络整理
导读:好的,我有一个Gridview控件,用于编辑数据库中的记录.我也参数化了查询.这是代码: asp:GridView ID="GridView1" runat="server" AllowSorting="True" AutoGenerateEditButton="true" AutoGenerateDeleteButton="true" DataSourceID="AccessDataSource1" Auto
好的,我有一个Gridview控件,用于编辑数据库中的记录.我也参数化了查询.这是代码:

<asp:GridView ID="GridView1" runat="server" AllowSorting="True" 
    AutoGenerateEditButton="true" AutoGenerateDeleteButton="true" 
    DataSourceID="AccessDataSource1"
    AutoGenerateColumns="False" DataKeyNames="ID"
    AlternatingRowStyle-BackColor="Gray"  
    AlternatingRowStyle-CssClass="editGridFormat" RowStyle-CssClass="editGridFormat"        
    RowStyle-VerticalAlign="Top" 
    onselectedindexchanged="GridView1_SelectedIndexChanged">

    <Columns>
        <asp:CommandField ShowSelectButton="True" />
        <asp:BoundField DataField="ID" HeaderText="ID" InsertVisible="False" 
            ReadOnly="True" SortExpression="ID" />
        <asp:BoundField DataField="BlogTitle" HeaderText="BlogTitle" 
            SortExpression="BlogTitle" />
        <asp:ImageField DataImageUrlField="Image" HeaderText="Image"
            DataImageUrlFormatString="~/PlaceImages/{0}" ControlStyle-CssClass="editPhotoGridFormat"
            AlternateText="Something went wrong" 
            NullDisplayText="No picture on file" />
        <asp:TemplateField headertext="PicText">
            <EditItemTemplate>
                <asp:TextBox id="PicTextBox" runat="server" text='<%# Eval("PicText")%>' textmode="MultiLine" height="300px" width="300px" />
            </EditItemTemplate>
            <ItemTemplate>
                <%# Eval("PicText")%>
            </ItemTemplate>
        </asp:TemplateField>

        <asp:BoundField DataField="TravelDate" HeaderText="TravelDate" SortExpression="TravelDate" />
        <asp:TemplateField headertext="BeginText">
            <EditItemTemplate>
                <asp:TextBox id="BeginTextBox" runat="server" text='<%# Eval("BeginText")%>' textmode="MultiLine" height="300px" width="300px" />
            </EditItemTemplate>
            <ItemTemplate>
                <%# Eval("BeginText")%>
            </ItemTemplate>
        </asp:TemplateField>
        <asp:BoundField DataField="Caption" HeaderText="Caption" />
        <asp:BoundField DataField="City" HeaderText="City" />
        <asp:BoundField DataField="Country" HeaderText="Country" 
            SortExpression="Country" />
        <asp:TemplateField headertext="EndText">
            <EditItemTemplate>
                <asp:TextBox id="EndTextBox" runat="server" text='<%# Eval("EndText")%>' textmode="MultiLine" height="300px" width="300px" />
            </EditItemTemplate>
            <ItemTemplate>
                <%# Eval("EndText")%>
            </ItemTemplate>
        </asp:TemplateField>
    </Columns>

</asp:GridView>

<asp:AccessDataSource ID="AccessDataSource1" runat="server" 
    DataFile="~/App_Data/TravelJoansDB.mdb" 
    SelectCommand="SELECT * FROM [Table2]" 
    DeleteCommand="DELETE FROM Table2 WHERE [ID] = ?"
    UpdateCommand="UPDATE Table2 SET [BlogTitle] = ?,[Image] = ?,[PicText] = ?,[TravelDate] = ?,[BeginText] = ?,[Caption] = ?,[City] = ?,[Country] = ?,[EndText] = ? 
                                     WHERE [ID] = ? " >

    <DeleteParameters>
        <asp:Parameter Name="ID" Type="Int32" />
    </DeleteParameters>
    <UpdateParameters>
        <asp:Parameter Name="BlogTitle" Type="String" />
        <asp:Parameter Name="Image" Type="String" />
        <asp:Parameter Name="PicText" Type="String" />
        <asp:Parameter Name="TravelDate" DbType="Date" />
        <asp:Parameter Name="BeginText" Type="String" />
        <asp:Parameter Name="Caption" Type="String" />
        <asp:Parameter Name="City" Type="String" />
        <asp:Parameter Name="Country" Type="String" />
        <asp:Parameter Name="EndText" Type="String" />
    </UpdateParameters>
</asp:AccessDataSource>

不确定它是否与TemplateField控件或参数类型是字符串有关.我提到Type属性的原因是因为在我的Access数据库中,它们是备忘录类型,但我能看到的唯一可比的是字符串类型.我打赌,字符串类型不足以容纳备忘录字段,但我不知道还有什么可能发生.任何帮助将不胜感激.

解决方法

备忘录字段没有任何问题.它是edititemtemplatefields,你不是绑定数据.将Eval更改为Bind,例如,更改为:

<EditItemTemplate>
    <asp:TextBox id="PicTextBox" runat="server" text='<%# Eval("PicText")%>' textmode="MultiLine" height="300px" width="300px" />
</EditItemTemplate>

对此:

<EditItemTemplate>
    <asp:TextBox id="PicTextBox" runat="server" text='<%# Bind("PicText")%>' textmode="MultiLine" height="300px" width="300px" />
</EditItemTemplate>

改变这个:

<EditItemTemplate>
    <asp:TextBox id="BeginTextBox" runat="server" text='<%# Eval("BeginText")%>' textmode="MultiLine" height="300px" width="300px" />
</EditItemTemplate>

对此:

<EditItemTemplate>
    <asp:TextBox id="BeginTextBox" runat="server" text='<%# Bind("BeginText")%>' textmode="MultiLine" height="300px" width="300px" />
</EditItemTemplate>

并改变这个:

<EditItemTemplate>
    <asp:TextBox id="EndTextBox" runat="server" text='<%# Eval("EndText")%>' textmode="MultiLine" height="300px" width="300px" />
</EditItemTemplate>

对此:

<EditItemTemplate>
    <asp:TextBox id="EndTextBox" runat="server" text='<%# Bind("EndText")%>' textmode="MultiLine" height="300px" width="300px" />
</EditItemTemplate>

我用access db测试了它.希望能帮助到你!

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读