分开来写:
myCommand.Parameters.Add(new SqlParameter("@dept_id",SqlDbType.NVarChar));
myCommand.Parameters("@dept_id").Value=MyDataGrid.DataKeys[(int)e.Item.ItemIndex];

解决方案 »

  1.   

    分开来写:
    myCommand.Parameters.Add(new SqlParameter("@dept_id",SqlDbType.NVarChar));
    myCommand.Parameters("@dept_id").Value=MyDataGrid.DataKeys[(int)e.Item.ItemIndex];
      

  2.   

    string deleteCmd="delete from dept where dept_id=" + "@dept_id";
      

  3.   

    是不是因为页面刷新导致e.item.index=-1
    检查有没有曾经重新绑定过datagrid
      

  4.   

    我刚刚也出了这个错误,我找到原因了。是因为没有设置DataKeyField,你把你的DataGrid的DataKeyField属性设置为你的数据表的关键字段就可以了。