对于更新语句,你应该使用SqlCommand对象。
SqlCommand cmd = new SqlCommand("INSERT INTO my_table (name, lastname) VALUES ('John', 'Doe')", My.Settings.ConnectionString);
cmd.ExectureNonQuery();
但是还是建议您使用参数化的SQL查询,万一你是从用户获取数据以减少SQL注入攻击的机会:)
SqlCommand cmd = new SqlCommand("INSERT INTO my_table (name, lastname) VALUES (@FirstName, @LastName)", My.Settings.ConnectionString);
cmd.Parameters.Add("FirstName", SqlDbType.NVarChar);
cmd.Parameters.Add("LastName", SqlDbType.NVarChar);
cmd.Parameters[0].Value = txtFirstName.Text;
cmd.Parameters[1].Value = txtLastName.Text;
cmd.ExecuteNonQuery();
回答您的其他问题:
是的。如果存在主键违例,则会抛出SQLException。您可以使用try-catch块捕获它并显示消息或执行任何适当的操作。
try
{
cmd.ExecuteNonQuery();
}
catch (Exception ex)
{
MessageBox.Show("Error! " + ex.Message);
}
一开始,请张贴代码:) 时或者使用
标签,选中代码,然后按Ctrl + K :) – 2010-07-08 18:12:19
@Ranhiru,感谢我展示它是如何做,只是做了一个编辑和更正了格式。 – Sabuncu 2010-07-08 20:40:51