在插入SQL Server之前检查重复条目

我只想在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(); } 

这篇文章解释了问题的解决方案。

基本上,您可以首先使用以下方法检查特定行的存在:

 IF NOT EXIST( SELECT 1 FROM TutorTable WHERE Tid = @tid) BEGIN  END 

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

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