我在 MS Access 中工作,我收到“无法从指定的表中删除”错误。
我的桌子是:
Orders
OrderDetails
Products
OrderView
OrderView 是一个查询表,数据分别来自 OrderDetails 和 Products 表。
我正在尝试从 OrderDetails 中删除 productId 与 gridview 中我的 productId 匹配的记录。
我的sql语句是:
DELETE * FROM OrderDetails WHERE productId=@productId
我从网格视图中获取@productId
这是我的网格视图标记:
<asp:GridView ID="GridView1" runat="server" AutoGenerateColumns="False"
DataSourceID="row3" BackColor="White" BorderColor="#CCCCCC"
BorderStyle="None" BorderWidth="1px" CellPadding="4" ForeColor="Black"
GridLines="Horizontal"
DataKeyNames="oProductId"
width="100%"
>
<Columns>
<asp:BoundField DataField="oProductId" HeaderText="Product Id"
SortExpression="oProductId" />
<asp:BoundField DataField="pProductName" HeaderText="Product Name"
SortExpression="pProductName" />
<asp:BoundField DataField="oQty" HeaderText="Quantity"
SortExpression="oQty" />
<asp:BoundField DataField="oPrice" HeaderText="Price" SortExpression="oPrice"
DataFormatString="{0:c}" />
<asp:BoundField DataField="oAmt" HeaderText="Amount"
SortExpression="oAmt" ReadOnly="True" DataFormatString="{0:c}" />
<asp:TemplateField HeaderText="Action">
<ItemTemplate>
<asp:LinkButton ID="btnDelete" Text="Delete" runat="server" CommandName="Delete" />
</ItemTemplate>
</asp:TemplateField>
</Columns>
<FooterStyle BackColor="#CCCC99" ForeColor="Black" />
<HeaderStyle BackColor="#333333" Font-Bold="True" ForeColor="White" />
<PagerStyle BackColor="White" ForeColor="Black" HorizontalAlign="Right" />
<SelectedRowStyle BackColor="#CC3333" Font-Bold="True" ForeColor="White" />
<SortedAscendingCellStyle BackColor="#F7F7F7" />
<SortedAscendingHeaderStyle BackColor="#4B4B4B" />
<SortedDescendingCellStyle BackColor="#E5E5E5" />
<SortedDescendingHeaderStyle BackColor="#242121" />