小编典典

在插入SQL Server之前检查重复项

sql

我只想在SQL Server数据库中插入一些条目。但是我需要在插入之前进行检查。关键是该表包括两列idname。如果条目与SQL
Server数据库中的条目完全相同,则所提供的代码应检查这两列,并防止插入该条目。

这意味着数据表的两列与将要插入的两个条目相同。我检查了论坛,但找不到适合我项目的任何有用的解决方案。

private void button4_Click(object sender, EventArgs e)
{
      try
      {
           objConnection.Open();
           string query = "INSERT INTO TutorTable(Tid, Tname) VALUES(N'" + tidTextBox.Text + "','" + tnameTextBox.Text + "')";

           SqlDataAdapter SDA = new SqlDataAdapter(query, objConnection);

           SDA.SelectCommand.ExecuteNonQuery();

           objConnection.Close();
           MessageBox.Show("ok!");
       }
       catch(Exception ex)
       {
           MessageBox.Show("error");
       }

       objConnection.Close();      
}

阅读 165

收藏
2021-05-16

共1个答案

小编典典

本质上,您可以先使用以下命令检查特定行的存在:

IF NOT EXIST( SELECT 1 FROM TutorTable WHERE Tid = @tid)
BEGIN
    <your insert statement...>
END

(这也使用了参数,而不是rene建议的直接值)

然后,您可以检查ExecuteNonQuery的返回值,以查看实际插入了多少行。

2021-05-16