public void DataGrid_update(object sender,DataGridCommandEventArgs e)
{
string strsql="update Users set UPassword=@password,Uname=@name,UPower=@kind,Email=@mail where ID=@userid";
SqlCommand cm=new SqlCommand(strsql,cn);
cm.Parameters.Add(new SqlParameter("@password",SqlDbType.VarChar,50));
cm.Parameters.Add(new SqlParameter("@kind",SqlDbType.Int,4));
cm.Parameters.Add(new SqlParameter("@name",SqlDbType.VarChar,50));
cm.Parameters.Add(new SqlParameter("@mail",SqlDbType.VarChar,50));
cm.Parameters.Add(new SqlParameter("@userid",SqlDbType.Int,4));
string colvalue=((TextBox)e.Item.Cells[2].Controls[0]).Text;
cm.Parameters["@password"].Value=colvalue;
colvalue=((TextBox)e.Item.Cells[3].Controls[0]).Text;
cm.Parameters["@name"].Value=colvalue;
colvalue=((TextBox)e.Item.Cells[4].Controls[0]).Text;
cm.Parameters["@kind"].Value=colvalue;
cm.Parameters["@userid"].Value=dgd_userlist.DataKeys[(int)e.Item.ItemIndex];
cm.Connection.Open();
try
{
cm.ExecuteNonQuery();
lbl_show.Text="编辑成功";
dgd_userlist.EditItemIndex=-1;
}
catch(SqlException)
{
lbl_show.Text="编辑失败,请检查输入!";
lbl_show.Style["color"]="red";
}
cm.Connection.Close();
Bindgrid();
}
为什么每次更新的时候都不能成功,用单步调试得知 执行到 cm.ExecuteNonQuery();这句后就跳转到catch了,请问如何解决这个问题??
更新的问题