我需要在下面的语法中使用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;
答案 0 :(得分:2)
是的,如果您正在执行DELETE语句,则MySqlCommand实例上的ExecuteNonQuery()就是您要使用的。如果您正在执行INSERT或UPDATE语句或不返回结果集的存储过程,那么它也是您使用的。
答案 1 :(得分:0)
如果您使用的是非查询,但删除将无法进行...您可能需要使用交易记录:
{{1}}