加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

c# – 在一个连接中执行多个UPDATE语句的最佳方法是什么?

发布时间:2020-12-15 08:39:26 所属栏目:百科 来源:网络整理
导读:如何正确执行以下更新: using (OracleConnection conn = new OracleConnection())using (selCmd){ string sql1 = "update Table1 set name = joe where id = 10;" string sql2 = "update Table2 set country = usa where region = americas;" string sql3 =
如何正确执行以下更新:
using (OracleConnection conn = new OracleConnection())
using (selCmd)
{

    string sql1 = "update Table1 set name = joe where id = 10;"
    string sql2 = "update Table2 set country = usa where region = americas;"
    string sql3 = "update Table3 set weather = sunny where state = CA;"
    string sql4 = "update Table4 set engine = v8 where maker = benz;"

    cmdUpdate.CommandText = sql(#);
    cmdUpdate.Connection = conn;
    recs = cmdUpdate.ExecuteNonQuery();
}

我知道全部或全部,如果它是一个交易,但我只是看看它是如何工作正确的方法.

我想迭代一个项目数组[sql1,sql2,sql3,sql4]并在CommandText中传递sql(#)并每次执行ExecuteNonQuery.

解决方法

如果我没记错的话,可以将多个SQL语句连接在一个由分号(;)分隔的字符串中.否则,执行多个ExecuteNonQuery()调用没有任何问题.
string sql1 = "BEGIN update Table1 set name = 'joe' where id = 10;",sql2 = "update Table2 set country = 'usa' where region = 'americas';",sql3 = "update Table3 set weather = 'sunny' where state = 'CA';",sql4 = "update Table4 set engine = 'v8' where maker = 'benz'; END;";

string sql = string.Format("{0}{1}{2}{3}",sql1,sql4);

using (OracleConnection conn = new OracleConnection())
using (OracleCommand cmdUpdate = new OracleCommand(sql,conn))
{
    conn.Open();
    recs = cmdUpdate.ExecuteNonQuery();
}

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读