兄弟,datakeysfiled 指的记录 的关键字段,这个必须加上。我也出现同样的问题,我就是看了 xj1122(当当) 的提示后,搞成功的!以下是我的C#代码:
*.aspx:
...
<asp:datagrid id="admin_DataGrid" DataKeyField="worker_id" style="Z-INDEX: 105; LEFT: 27px; POSITION: absolute; TOP: 139px" runat="server" Height="112px" Width="662px" AutoGenerateColumns="False" OnEditCommand="admin_DataGrid_Edit" OnUpdateCommand="admin_DataGrid_Update" OnCancelCommand="admin_DataGrid_Cancel" OnDeleteCommand="Delete" HorizontalAlign="Center" BorderColor="Black" PageSize="20">
...
*.CS:
public void Delete(Object sender,DataGridCommandEventArgs e)
{
SqlConnection cn=new SqlConnection(strConn);
String deleteCmd="DELETE from worker where worker_id = @worker_id ";
SqlCommand myCommand = new SqlCommand(deleteCmd, cn);
myCommand.Parameters.Add(new SqlParameter("@worker_id",SqlDbType.BigInt));
myCommand.Parameters["@worker_id"].Value=admin_DataGrid.DataKeys[(int)e.Item.ItemIndex];
myCommand.Connection.Open();
myCommand.ExecuteNonQuery();
myCommand.Connection.Close();
admin_DataGrid.EditItemIndex = -1;
Bind();
}
你可以参考一下,我可以被这个问题困了几天了,现在终于解决!
*.aspx:
...
<asp:datagrid id="admin_DataGrid" DataKeyField="worker_id" style="Z-INDEX: 105; LEFT: 27px; POSITION: absolute; TOP: 139px" runat="server" Height="112px" Width="662px" AutoGenerateColumns="False" OnEditCommand="admin_DataGrid_Edit" OnUpdateCommand="admin_DataGrid_Update" OnCancelCommand="admin_DataGrid_Cancel" OnDeleteCommand="Delete" HorizontalAlign="Center" BorderColor="Black" PageSize="20">
...
*.CS:
public void Delete(Object sender,DataGridCommandEventArgs e)
{
SqlConnection cn=new SqlConnection(strConn);
String deleteCmd="DELETE from worker where worker_id = @worker_id ";
SqlCommand myCommand = new SqlCommand(deleteCmd, cn);
myCommand.Parameters.Add(new SqlParameter("@worker_id",SqlDbType.BigInt));
myCommand.Parameters["@worker_id"].Value=admin_DataGrid.DataKeys[(int)e.Item.ItemIndex];
myCommand.Connection.Open();
myCommand.ExecuteNonQuery();
myCommand.Connection.Close();
admin_DataGrid.EditItemIndex = -1;
Bind();
}
你可以参考一下,我可以被这个问题困了几天了,现在终于解决!
解决方案 »
免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货