Ok, ho un controllo Gridview che uso per modificare i record nel mio database. Ho anche parametrizzato la query. Ecco il codice:Query di aggiornamento sembra cancellare i campi memo
<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>
Non sono sicuro se si ha a che fare con il controllo TemplateField o il tipo di parametro è una stringa. La ragione per cui menziono la proprietà Type è perché nel mio database di Access, sono di tipo memo, ma l'unica cosa che posso vedere è a metà strada comparabile è il tipo di stringa. Scommetto che il tipo di stringa non è abbastanza grande da contenere un campo memo, ma non so cos'altro potrebbe succedere. Qualsiasi aiuto sarebbe molto apprezzato.
Inoltre, anche se non modifico quei particolari campi, vengono comunque eliminati, tutti loro. – Joseph
È improbabile che un memo possa essere più grande di una stringa, è più probabile che si esaurisca la memoria prima di raggiungere il limite di una stringa. Cosa succede se si rimuove il comando Elimina? – codemonkeh
Oh, pensavo che le stringhe fossero limitate a 255 caratteri ... Fammi controllare. – Joseph