SqlCommand返回1但数据库没有更新..我做错了什么?

时间:2017-01-06 14:07:57

标签: c# sql database sqlcommand

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..
 }

上面的代码是我用来更新数据库的Alarm表的代码。 int a返回1但数据库实际上没有更新。我究竟做错了什么? visual studio也没有给我任何错误信息。

1 个答案:

答案 0 :(得分:-2)

ExecuteNonQuery将返回1成功。您正在执行INSERT语句而不是UPDATE语句。如果您想要添加的新记录的ID使用

INSERT INTO Alarm (artistname, tijd) VALUES (@artistname, @tijd); 
Select Scope_Idenitity();

然后使用

int a = (int)cmd.ExecuteScalar();