using (SqlConnection connection = new SqlConnection(connectionString))
{
SqlCommand cmd = new SqlCommand("INSERT INTO Alarm (artistname, tijd) VALUES (@artistname, @tijd)", connection);
cmd.CommandType = CommandType.Text;
cmd.Connection = connection;
cmd.Parameters.AddWithValue("@artistname", alarm.ArtistName);
cmd.Parameters.AddWithValue("@tijd", alarm.Time);
connection.Open();
int a = cmd.ExecuteNonQuery();
System.Windows.Forms.MessageBox.Show(a.ToString());
// returns 1 but database doesn't actually update..
}
上面的代码是我用来更新数据库的警报表的代码。 int a 返回 1,但数据库实际上并没有更新。 我做错了什么? Visual Studio也没有给我任何错误消息。
ExecuteNonQuery 将返回 1 的成功。您正在执行INSERT
语句,而不是UPDATE
语句。如果要添加的新记录的 id,请使用
INSERT INTO Alarm (artistname, tijd) VALUES (@artistname, @tijd);
Select Scope_Idenitity();
然后使用
int a = (int)cmd.ExecuteScalar();