C#、Winfrom添加数据时,验证表中数据放在多次点击按钮重复添加

发布时间 2023-06-26 16:11:04作者: wang王dd

1、打开链接

 SqlConnection conn = new SqlConnection(SQL);
 conn.Open();

2、查询语句

SqlCommand cmd1 = conn.CreateCommand();
cmd1.CommandText = "select * from basicMaterial where materialId = '" + id + "'";

3、验证数据是否存在

SqlDataReader dataReader= cmd1.ExecuteReader();
 if (dataReader.HasRows)
 {
  MessageBox.Show("已存在该记录,保存失败!");
 }

4、不存在执行添加操作

else
                {
                    dataReader.Close();
                    SqlCommand cmd = conn.CreateCommand();
                    cmd.CommandText = "insert into basicMaterial (pinName,materialId,materialName,materialSpecs) VALUES ('" + pinName + "','" + id + "','" + name + "','" + specs + "')";
                    int a = cmd.ExecuteNonQuery();
                    if (a > 0)
                    {
                        MessageBox.Show("保存成功!");
                    }
                    else
                    {
                        MessageBox.Show("保存失败!");
                    }
                }

                conn.Close();

附完整代码:

conn.Open();
                //在添加数据之前,先要验证数据是否存在,防止不小心多次点击添加按钮造成重复添加数据
                SqlCommand cmd1 = conn.CreateCommand();
                cmd1.CommandText = "select * from basicMaterial where materialId = '" + id + "'";
                SqlDataReader dataReader= cmd1.ExecuteReader();
                if (dataReader.HasRows)
                {
                    MessageBox.Show("已存在该记录,保存失败!");
                }
                else
                {
                    dataReader.Close();
                    SqlCommand cmd = conn.CreateCommand();
                    cmd.CommandText = "insert into basicMaterial (pinName,materialId,materialName,materialSpecs) VALUES ('" + pinName + "','" + id + "','" + name + "','" + specs + "')";
                    int a = cmd.ExecuteNonQuery();
                    if (a > 0)
                    {
                        MessageBox.Show("保存成功!");
                    }
                    else
                    {
                        MessageBox.Show("保存失败!");
                    }
                }

                conn.Close();