我只想在SQL Server数据库中插入一些条目。但是我需要在插入之前进行检查。关键是该表包括两列id和name。如果条目与SQL Server数据库中的条目完全相同,则所提供的代码应检查这两列,并防止插入该条目。
id
name
这意味着数据表的两列与将要插入的两个条目相同。我检查了论坛,但找不到适合我项目的任何有用的解决方案。
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 <your insert statement...> END
(这也使用了参数,而不是rene建议的直接值)
然后,您可以检查ExecuteNonQuery的返回值,以查看实际插入了多少行。