SqlCommand 返回 1,但数据库未更新。我做错了什么?


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();

相关内容

最新更新