myID myName myPwd myAge
编辑 删除 1 no1 111 24
编辑 删除 2 no2 222 52
编辑 删除 3 no3 333 34
编辑 删除 4 no4 444 23
编辑 删除 5 no5 555 52
编辑 删除 6 no6 666 62
编辑 删除 7 no7 777 34
编辑 删除 8 no8 888 23
编辑 删除 9 no9 999 43
编辑 删除 10 no10 1000 13 private void DataGrid1_DeleteCommand(object source, System.Web.UI.WebControls.DataGridCommandEventArgs e)
{
SqlConnection myCon=new SqlConnection("workstation id=WING;packet size=4096;user id=sa;data source=WING;persist security info=False;initial catalog=WingZero");
SqlCommand myCmd=new SqlCommand("delete from myTable_1 where myID=@myID",myCon);
myCmd.Parameters.Add(new SqlParameter("@myID",SqlDbType.Int,4));
myCmd.Parameters["@myID"].Value=????? myCon.Open();
myCmd.ExecuteNonQuery();
myCon.Close();
DataBind();
我只是想删除行时先获取 myID 的值,好传递给@myID,然后删除,
书上的
myCmd.Parameters["@myID"].Value=DataGrid1.DataKeys[(int)e.Item.ItemIndex];
老报错
编辑 删除 1 no1 111 24
编辑 删除 2 no2 222 52
编辑 删除 3 no3 333 34
编辑 删除 4 no4 444 23
编辑 删除 5 no5 555 52
编辑 删除 6 no6 666 62
编辑 删除 7 no7 777 34
编辑 删除 8 no8 888 23
编辑 删除 9 no9 999 43
编辑 删除 10 no10 1000 13 private void DataGrid1_DeleteCommand(object source, System.Web.UI.WebControls.DataGridCommandEventArgs e)
{
SqlConnection myCon=new SqlConnection("workstation id=WING;packet size=4096;user id=sa;data source=WING;persist security info=False;initial catalog=WingZero");
SqlCommand myCmd=new SqlCommand("delete from myTable_1 where myID=@myID",myCon);
myCmd.Parameters.Add(new SqlParameter("@myID",SqlDbType.Int,4));
myCmd.Parameters["@myID"].Value=????? myCon.Open();
myCmd.ExecuteNonQuery();
myCon.Close();
DataBind();
我只是想删除行时先获取 myID 的值,好传递给@myID,然后删除,
书上的
myCmd.Parameters["@myID"].Value=DataGrid1.DataKeys[(int)e.Item.ItemIndex];
老报错
解决方案 »
- 如何获取浏览者详细的操作系统、浏览器信息
- 关于GridView中数据,打印出显示的问题,求助啊
- Coolite ToolKit 创建控件出错?
- 有那位朋友开发过ikey进行web登录验证的请进来
- Reapter中数据过多,应该如何解决(100分)
- 关于的优酷引用记录
- 请教如何取得dataview里单一元素的值(在线等待)
- 疑惑:global文件中Application_BeginRequest里不能用session?想在里面做权限验证,可以吗?(多谢救命之恩)
- 如何给top.location.href带参数?
- 请教:慕白兄
- 中文参数传递有时正确有时不正确,什么原因?
- 关于写用户注册可以选添的问题,有这方面经验的大哥救命~~~~~
string cellText = DataGrid1[x,y].Controls[0].ToString();一般的绑定用
string cellText = DataGrid1[x,y].ToString();
试过后
打datagrid1后都没反映。。
myCmd.Parameters["@myID"].Value=DataGrid1[x,y]
myCmd.Parameters["@myID"].Value = Convert.ToInt32(DataGrid1.DataKeys[(int)e.Item.ItemIndex]);
上述这句,是求取datagrid的主键值
为了得到这个值,你必须在该控件绑定的时候,指定它的主键字段
this.DataGrid1.DataKeyField = "myID";
private void DataGrid1_DeleteCommand(object source, System.Web.UI.WebControls.DataGridCommandEventArgs e)
{
this.DataGrid1.DataKeyField = "myID";
SqlConnection myCon=new SqlConnection("workstation id=WING;packet size=4096;user id=sa;data source=WING;persist security info=False;initial catalog=WingZero");
SqlCommand myCmd=new SqlCommand("delete from myTable_1 where myID=@myID",myCon);
myCmd.Parameters.Add(new SqlParameter("@myID",SqlDbType.Char,4));
int y=Convert.ToInt32(DataGrid1.DataKeys[(int)e.Item.ItemIndex]);
myCmd.Parameters["@myID"].Value = Convert.ToInt32(DataGrid1.DataKeys[(int)e.Item.ItemIndex]);
myCon.Open();
myCmd.ExecuteNonQuery();
myCon.Close();
DataBind();
}出错:索引超出范围。必须为非负值并小于集合大小。参数名: index
这种情况下的增加删除怎么实现?