zoukankan      html  css  js  c++  java
  • C#内置函数 RunSql的使用

    作用批量执行sql语句
    表达式.RunSQL(SQLStatement,UseTransaction)
    表达式.一个代表DoCmd对象的变量。

    注释:sqlstatement参数的最大长度为 32,768 个字符(而"宏"窗口中的 SQL 语句操作参数的最大长度为 256 个字符)。

         官方说仅能用于Microsoft Access 数据库,但是我亲自测试oracle也行

    例子:

    /// <summary>
    /// 执行SQL(重载参数IID 由Long变成String)
    /// </summary>
    /// <param name="iid">批量sql的where条件</param>
    /// <param name="sqlList">list类型的sql</param>
    /// <param name="errmsg">返回的结果信息</param>
    /// <param name="idaNew">数据库对象</param>
    /// <returns></returns>
    public bool RunSqls(string iid, List<string> sqlList, out string errmsg, ref IDataAccess idaNew)
    {
    errmsg = string.Empty;
    bool bReturn = false;
    if (sqlList == null || sqlList.Count == 0)
    {
    errmsg = "[runSqls()]参数[sqlList]为空,没有sql可执行。";
    return false;
    }

    //db.BeginTransaction();
    string newSql = string.Empty;
    try
    {
    //循环list中的每个sql
    foreach (string sql in sqlList)
    {
    if (sql == string.Empty) continue;
    newSql = sql;
    if (sql.IndexOf(":IID") != -1) //如果存在参数iid
    {
    newSql = sql.Replace(":IID", iid.ToString());
    }
    idaNew.RunSql(newSql);//可以重载参数是否错误一个所有回滚 不用单独启动事务
    //db.Execute(newSql);
    }
    //db.CompleteTransaction();

    bReturn = true;
    }
    catch (Exception e)
    {
    errmsg = e.Message;
    CommomBus.Info(e);
    //db.AbortTransaction();
    }
    return bReturn;
    }

  • 相关阅读:
    将Infopath转成PDF
    调用MOSS API取document时出现out of memeory错误
    jquery dialog中mvc客户端验证无效
    Windows Service开发点滴20130622
    CentOS
    nginx
    VIM
    nodejs weixin 笔记
    nodejs mysql
    nodejs 笔记
  • 原文地址:https://www.cnblogs.com/isking/p/6228693.html
Copyright © 2011-2022 走看看