在插入表之前,寻找一种简单的方法来检查表中是否已存在主键。其中Fname是表中的主键。
SqlConnection conn = new SqlConnection(connStr);
conn.Open();
SqlCommand cmd = new SqlCommand();
cmd.Connection = conn;
cmd.CommandText = "INSERT INTO [table] ([firstName], [lastName]) VALUES ('" + txtFName.Text + "','" + txtLName.Text + "')";
cmd.ExecuteNonQuery();
conn.Close();
答案 0 :(得分:2)
作为一般规则,您应该尝试插入。如果密钥存在,则dbms将返回错误。陷阱错误。
无论如何你必须捕获错误,因为除了主键约束之外还有很多东西可以防止插入行。其中
通过捕获错误,您不会失去任何效率。
如果您尝试插入已存在主键的行,某些平台可以合并数据。最着名的(或最臭名昭着的,取决于你的观点)是MySQL's ON DUPLICATE KEY UPDATE。