我只想在SQL Server数据库中插入一些条目。但我需要在插入前检查。关键点是该表包含两列id
和name
。如果条目与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();
}
答案 0 :(得分:0)
This post解释了问题的解决方案。
基本上,您可以先使用以下方法检查特定行的存在:
IF NOT EXIST( SELECT 1 FROM TutorTable WHERE Tid = @tid)
BEGIN
<your insert statement...>
END
(这也是使用参数而不是rene建议的直接值)
然后,您可以检查ExecuteNonQuery的返回值,以查看实际插入的行数。