對於更新語句,你應該使用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