数据源不支持更新';SqlDataSource1';除非指定了UpdateCommand
本文关键字:UpdateCommand SqlDataSource1 不支持 更新 数据源 | 更新日期: 2023-09-27 18:01:09
如何在VB中配置ASP.NET web应用程序,使其不再出现此错误?
我正试图编辑一个条目,然后单击"更新"来更新我网站上的条目,但随后出现了此错误。当我点击"删除"时,也会出现类似的错误。
我的web应用程序上有以下配置的数据源数据表:
<h2>
Sales
</h2>
<p>
<asp:TextBox ID="TextBox1" runat="server">Hello</asp:TextBox>
</p>
<asp:GridView ID="GridView1" runat="server" AutoGenerateColumns="False"
DataSourceID="SqlDataSource1"
EmptyDataText="There are currently no sales reported in this location's database."
AllowPaging="True" AllowSorting="True" CellPadding="4" ForeColor="#333333"
GridLines="None">
<AlternatingRowStyle BackColor="White" />
<Columns>
<asp:CommandField ShowDeleteButton="True" />
<asp:CommandField ShowEditButton="True" />
<asp:CommandField ShowSelectButton="True" />
<asp:BoundField DataField="Salesperson" HeaderText="Salesperson"
SortExpression="Salesperson" />
<asp:BoundField DataField="VIN" HeaderText="VIN" SortExpression="VIN" />
<asp:BoundField DataField="Sale_Price" HeaderText="Sale_Price"
SortExpression="Sale_Price" />
<asp:BoundField DataField="MSRP" HeaderText="MSRP" SortExpression="MSRP" />
<asp:BoundField DataField="Commission_Rate" HeaderText="Commission_Rate"
SortExpression="Commission_Rate" />
<asp:BoundField DataField="Commission_Earned" HeaderText="Commission_Earned"
SortExpression="Commission_Earned" />
</Columns>
<EditRowStyle BackColor="#2461BF" />
<FooterStyle BackColor="#507CD1" Font-Bold="True" ForeColor="White" />
<HeaderStyle BackColor="#507CD1" Font-Bold="True" ForeColor="White" />
<PagerStyle BackColor="#2461BF" ForeColor="White" HorizontalAlign="Center" />
<RowStyle BackColor="#EFF3FB" />
<SelectedRowStyle BackColor="#D1DDF1" Font-Bold="True" ForeColor="#333333" />
<SortedAscendingCellStyle BackColor="#F5F7FB" />
<SortedAscendingHeaderStyle BackColor="#6D95E1" />
<SortedDescendingCellStyle BackColor="#E9EBEF" />
<SortedDescendingHeaderStyle BackColor="#4870BE" />
</asp:GridView>
<asp:SqlDataSource ID="SqlDataSource1" runat="server"
ConnectionString="<%$ ConnectionStrings:MyConnectionString %>"
SelectCommand="SELECT [Salesperson], [VIN], [Sale Price] AS Sale_Price, [MSRP], [Commission Rate] AS Commission_Rate, [Commission Earned] AS Commission_Earned FROM [Sales]">
</asp:SqlDataSource>
除非在SqlDataSource的属性中指定一个节,否则SqlDataSource对象无法知道更新应用程序表的精确方法。数据源上UpdateCOmmand属性的一个非常粗略的例子可能是
<asp:SqlDataSource id=SqlDataSource1
...other stuff omitted..
UpdateCOmmand='UPDATE MyAppTable Set Field=@Value, OtherField=@OtherValue Where ID=@MyId'
...
>
</asp:SqlDataSource>
但是,命令的细节也是您需要提供的。ASP.NET可以启动命令,但必须提供足够的细节才能使其正常工作。