private void btnDelete_Click(object sender, EventArgs e)
{
//只演示一个单行删除
if (this.dataGridView1.SelectedRows.Count<=0)
{
return;
}
if (MessageBox.Show("真的要删除吗?", "提示", MessageBoxButtons.YesNo) != DialogResult.Yes)
{
return;
}
int Id = int.Parse(this.dataGridView1.SelectedRows[0].Cells["Id"].Value.ToString());
string connStr = SqlHelper.GetConnectionString();
using (SqlConnection conn=new SqlConnection(connStr))
{
using (SqlCommand cmd=conn.CreateCommand())
{
conn.Open();
cmd.CommandText = "update UserInfo set DelFlag=0 where Id=@Id";// "delete from UserInfo where Id=@Id";
//cmd.Parameters.AddWithValue("@Id", Id);//方法(一) 推荐******
//SqlParameter para = new SqlParameter();//方法(二) 上面一行等于下面这四行 推荐******给属性赋值方式
//para.Value = Id;
//para.ParameterName = "@Id";
//cmd.Parameters.Add(para);
//SqlParameter para3 = new SqlParameter("@Id", Id);//方法(三) 有参数陷阱 如果给具体值时 会匹配类型枚举
//cmd.Parameters.Add(para3);
//cmd.Parameters.Add(new SqlParameter("@Id", Id));//方法四 上2行合这一行
//SqlParameter para4 = cmd.CreateParameter();//方法五 相当于上面的new
//para4.ParameterName = "@Id";
//para4.Value = Id;
//cmd.Parameters.Add(para4);
//SqlParameter para5 = new SqlParameter("@Id", SqlDbType.Int);//方法(六)
//para5.Value = Id;
//cmd.Parameters.Add(para5);
SqlParameter para6= cmd.Parameters.Add("@Id", SqlDbType.Int);//方法七
para6.Value = Id;
if (cmd.ExecuteNonQuery()>0)
{
MessageBox.Show("delete ok...");
}
LoadUserInfo();
}
}
}