代码如下:
private void DataGrid1_DeleteCommand(object source, System.Web.UI.WebControls.DataGridCommandEventArgs e)
{ cn.Open();
string strsql="DELETE FROM sale WHERE Mno=@Mno";
SqlCommand cm=new SqlCommand(strsql,cn);
cm.Parameters.Add(new SqlParameter("@Mno",SqlDbType.Char,20,"Mno"));
cm.Parameters["@Mno"].Value=DataGrid1.DataKeys[(int)e.Item.ItemIndex]; //cm.Connection.Open();
try
{
cm.ExecuteNonQuery();
notice.Text="删除成功";
}
catch(SqlException)
{
notice.Text="删除失败";
}
//cm.Connection.Close();
cn.Close();
BindGrid();
}错误提示:System.ArgumentOutOfRangeException: 索引超出范围。必须为非负值并小于集合大小。参数名: index
因为我是初学者,不明白是什么原因,请高手指导一下!谢谢!
private void DataGrid1_DeleteCommand(object source, System.Web.UI.WebControls.DataGridCommandEventArgs e)
{ cn.Open();
string strsql="DELETE FROM sale WHERE Mno=@Mno";
SqlCommand cm=new SqlCommand(strsql,cn);
cm.Parameters.Add(new SqlParameter("@Mno",SqlDbType.Char,20,"Mno"));
cm.Parameters["@Mno"].Value=DataGrid1.DataKeys[(int)e.Item.ItemIndex]; //cm.Connection.Open();
try
{
cm.ExecuteNonQuery();
notice.Text="删除成功";
}
catch(SqlException)
{
notice.Text="删除失败";
}
//cm.Connection.Close();
cn.Close();
BindGrid();
}错误提示:System.ArgumentOutOfRangeException: 索引超出范围。必须为非负值并小于集合大小。参数名: index
因为我是初学者,不明白是什么原因,请高手指导一下!谢谢!
解决方案 »
- 这条sql语句该怎么写啊
- 在.net(C#)下调用并使用在MATLAB生成的图像
- 在TabControl中的tabPage2中加入DataGridView的问题。
- 有几行代码看不懂 麻烦大大帮忙看下什么意思
- windows 应用程序用webBrowser控件出现 当前页面的脚本发生错误怎么避免,还有出现alert怎么去掉?
- C#链接数据库
- 如何用C#下的Raw Socket编程实现网络封包监视
- 熟悉 XtraReport 报表设计的大哥请进!
- 对VC/MFC或.Net/C#感兴趣吗?
- 读取文件的时候显示读取进度,你们是怎么确定最大值的?
- 结构体中要放一个固定长度的string对象和byte[]对象,如何做?
- [攒分贴]用ADO向excel批量导入数
谢谢你!我在属性栏里DataKeyField设置了主键后就运行成功了!