Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/.net/23.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
.net 是否可以使用一个SqlCommand进行多个查询?_.net_Sql_Sql Server - Fatal编程技术网

.net 是否可以使用一个SqlCommand进行多个查询?

.net 是否可以使用一个SqlCommand进行多个查询?,.net,sql,sql-server,.net,Sql,Sql Server,是否可以向.net中的SqlCommand对象添加多个查询 如果其中一个查询失败,其余的查询成功,那么该命令会将此报告为失败还是成功 最后一个问题:查询是否可以共享相同的参数?那么,这是否可能: UPDATE mytable SET column1 = @param1 WHERE recid = @recid; UPDATE mytable2 SET column1 = @param1 WHERE recid = @recid2; (因此参

是否可以向.net中的SqlCommand对象添加多个查询

如果其中一个查询失败,其余的查询成功,那么该命令会将此报告为失败还是成功

最后一个问题:查询是否可以共享相同的参数?那么,这是否可能:

 UPDATE mytable 
    SET column1 = @param1 
  WHERE recid = @recid; 

 UPDATE mytable2 
    SET column1 = @param1 
  WHERE recid = @recid2;       
(因此参数1在查询之间共享)

谢谢


R

SqlCommand
对象的
CommandText
中可以有多个语句,这不是问题,它们也可以共享参数。它基本上被传递到sql server上的sp_executesql并执行。如果您正在执行多个更新,那么您将希望在事务中执行这些更新,以便在其中一条语句出现故障时可以回滚


如果返回多个记录集,您可以使用
SqlDataReader
NextResult()
方法来获取下一个结果集。

您确实需要一个事务。它不需要是原子的或事务的。我只想执行一组操作。我只是想确定他们每个人都得到了doneok谢谢。。。我不需要交易,因为我不在乎如果一个opf失败了,它们是否完成了…我只需要知道它们中是否有一个失败了。。。你知道这是怎么处理的吗?如果其中任何一个失败了,我会得到通知吗?当你说失败时,你是指sql语句中的语法错误吗?或者,您的意思是,如给出的示例语句中所示,如果两条UPDATE语句中的一条不更新任何行?无论有多少语句,前者都会抛出SqlException,对于后者,我认为您仍然需要将语句分开,以便评估
ExecuteScalar()
/
ExecuteNonQuery()
后者的返回值。。。好啊那么您的意思是,在这种情况下,我要么分离查询,要么使用事务,对后者来说,就数据库而言,不影响行的更新不是错误。但是,这可能是应用程序逻辑的错误。有两种方法可以处理这个问题,我可以在脑子里想出来,这可能涉及到一个事务,这取决于语句是全部还是没有。您可以使用返回值或使用RAISERROR将消息返回给调用应用程序。