码迷,mamicode.com
首页 > 数据库 > 详细

C#内置函数 RunSql的使用

时间:2016-12-28 12:31:23      阅读:145      评论:0      收藏:0      [点我收藏+]

标签:sage   cmd   数据   http   comm   ges   stat   tin   index   

作用批量执行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;
}

C#内置函数 RunSql的使用

标签:sage   cmd   数据   http   comm   ges   stat   tin   index   

原文地址:http://www.cnblogs.com/isking/p/6228693.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!