使用DeleteCommand执行NoQuery?

时间:2013-08-23 13:02:53

标签: c# mysql executenonquery

我需要在下面的语法中使用ExecuteNonQuery吗? 他们是对的吗?目标使用da.DeleteCommand;哪种语法可以获得性能?

MySqlCommand cmd = new MySqlCommand("DELETE FROM users_login WHERE UserID = @UserID;", coon);
cmd.Parameters.Add("@UserID", MySqlDbType.Int16).Value = oUsuario.UserID;

MySqlDataAdapter da = new MySqlDataAdapter();
da.DeleteCommand = cmd;

coon.Open();
ok = true;

/**OR use this**/

MySqlCommand cmd = new MySqlCommand("DELETE FROM users_login WHERE UserID = @UserID;", coon);
cmd.Parameters.Add("@UserID", MySqlDbType.Int16).Value = oUsuario.UserID;

coon.Open();
cmd.ExecuteNonQuery();
ok = true;

2 个答案:

答案 0 :(得分:2)

是的,如果您正在执行DELETE语句,则MySqlCommand实例上的ExecuteNonQuery()就是您要使用的。如果您正在执行INSERT或UPDATE语句或不返回结果集的存储过程,那么它也是您使用的。

答案 1 :(得分:0)

如果您使用的是非查询,但删除将无法进行...您可能需要使用交易记录:

{{1}}