如果另一个命令成功,则执行另一个命令
本文关键字:命令 另一个 执行 成功 如果 | 更新日期: 2023-09-27 17:56:30
我正在使用MySQL-Connector/Net。
我如何确保命令确实已执行。它是这样工作还是那样工作?
我希望里面的命令只是被执行,如果第一个命令成功了,因为第二个命令正在更新统计信息。
我需要它用于 sqlcommand 以及sql_adapter更新和填充命令。
if (sql_command.ExecuteNonQuery() != 0)
{
sql_command2.ExecuteNonQuery();
}
if (sql_adapter.Fill(dataSet, "Entry") != 0)
{
sql_command2.ExecuteNonQuery();
}
使用以下命令:
if (sql_command.ExecuteNonQuery() > 0)
{
sql_command2.ExecuteNonQuery();
}
执行非查询返回受影响的记录数。(通过命令本身和任何关联的触发器)
如果你对成功命令1的定义是some
记录得到更新,以便你运行command2来更新统计信息,那么上面的代码就足够了。
如果成功命令1的定义是否正在运行**without**
出现任何错误(无论更新的记录如何),请使用以下命令:
sql_command.ExecuteNonQuery();
sql_command2.ExecuteNonQuery();
这是因为如果没有记录受到影响,则 ExecuteNonQuery 将返回 0,并且当查询/存储过程中计数**SET NOCOUNT ON**
时,在某些成功执行时也可以返回 -1。(-1 也在回滚等时返回)
使用 try/catch 查看任何异常:
try { sql_command.ExecuteNonQuery(); }
catch { MessageBox.Show("The first SQL command failed"); }
sql_command2.ExecuteNonQuery();
在此处阅读有关SqlCommand.ExecuteNonQuery()
例外的更多信息:
http://msdn.microsoft.com/en-us/library/system.data.sqlclient.sqlcommand.executenonquery(v=vs.110).aspx