OK, tôi có điều khiển Gridview mà tôi sử dụng để chỉnh sửa bản ghi trong cơ sở dữ liệu của mình. Tôi cũng đã tham số hóa truy vấn. Đây là mã:Truy vấn cập nhật dường như xóa trường ghi nhớ
<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>
Không chắc chắn nó có liên quan đến điều khiển TemplateField hay loại Tham số là chuỗi. Lý do tôi đề cập đến thuộc tính Type là bởi vì trong cơ sở dữ liệu Access của tôi, chúng thuộc loại ghi nhớ, nhưng điều duy nhất tôi có thể thấy đó là một nửa so sánh được là kiểu chuỗi. Tôi muốn cược rằng kiểu chuỗi không đủ lớn để giữ một trường ghi nhớ, nhưng tôi không biết điều gì khác có thể xảy ra. Mọi sự trợ giúp sẽ rất được trân trọng.
Ngoài ra, ngay cả khi tôi không chỉnh sửa các trường cụ thể đó, chúng vẫn bị xóa, tất cả chúng. – Joseph
Dường như một bản ghi nhớ có thể lớn hơn một chuỗi, bạn có nhiều khả năng hết bộ nhớ trước khi đạt đến giới hạn của một chuỗi. Điều gì xảy ra nếu bạn xóa lệnh Xóa? – codemonkeh
Ồ, tôi nghĩ dây bị giới hạn ở 255 ký tự ... Hãy để tôi kiểm tra. – Joseph