首页 > C#内置函数 RunSql的使用

C#内置函数 RunSql的使用

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

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

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

例子:

///



/// 执行SQL(重载参数IID 由Long变成String)

///


/// 批量sql的where条件

/// list类型的sql

/// 返回的结果信息

/// 数据库对象

///

public bool RunSqls(string iid, List 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;

}

转载于:https://www.cnblogs.com/isking/p/6228693.html

更多相关:

  • 有时候我们项目,在执行某个操作后,会生成一些数据结果,如报表一类的东西,我们需要对结果进行保存,甚至是生成word文档。 那么首先获取到控件快照就最基本的条件。 生成快照的静态方法类 using System; using System.Collections.Generic; using System.Drawing; using...

  • 前戏:针对上一篇列出来的功能点,今天和大家分享下这个自定义的公式是怎么设计的,由于我的第一篇博客在首页被管理员移走了,大家可以点击这里来跳转,看下第一篇的目录结构。本人作为老菜鸟,和大家分享的也是一些老菜鸟的想法,大神千万别喷我.   设计背景:当初为什么要设计这个自定义的计算公式呢,原因就是,这个价格是不确定的,计算方式也是不确定的...

  • 背景 搭建一个适合公司erp业务的开发平台。 架构概要图:    流程引擎开发平台:  包含流程引擎设计器,流程管理平台,流程引擎服务。目前只使用单个数据库进行管理。  流程引擎设计器    采用silverlight进行开发,本质是对流程模型进行设计,并生成xml。包含:人工节点,自动节点,并行开始节点,并行结束节点,消息节点,文...

  • using System;using System.Collections.Generic;using System.Linq;using System.Text;using System.Xml;using System.Web; namespace BLL{    public  class XmlDoc    {       ...

  • Python是一种计算机程序设计语言,它是一种动态的、面向对象的脚本语言。它是一种跨平台的,可以运行在 Windows,Mac和 Linux/Unix系统上。在日常使用中需要对大量数据进行数据分析,那么就必然用到数据库,我们常用的数据库有 SQL Server , MySQL , Oracle , DB2 , SQLite ,Hive...

  • 在VS下用C语言连接SQLServer2008 原文:在VS下用C语言连接SQLServer2008 step1:启动SQLSERVER服务 step2:打建立数据库test,在test库中建立test表(a varchar(200),b varchar(200))  step3:建立系统DSN,开始菜单 ->运行 ->o...

  • 打开SQL Server Configuration Manager,在SQL server配置管理器展开SQL server 2005网络配置-->SQLEXPRESS 的协议-->双击TCP/IP协议-->ip地址将1433端口启用,重启下MSSQL服务才能生效,示例图: 重启下MSSQL服务才能生效 转载于:https:/...

  • 一.ITL(Interested Transaction List):   ITL(Interested Transaction List)是Oracle数据块内部的一个组成部分,位于数据块头(block header),itl由xid,uba,flag,lck和scn/fsc组成,用来记录该块所有发生的事务,一个itl可以看作是一条...

  • 转自http://blog.chinaunix.net/space.php?uid=16981447&do=blog&cuid=430716做了简单的格式整理,加入了一点点原创的东西。Oracle9i引入了MERGE命令,你能够在一个SQL语句中对一个表同时执行inserts和updates操作. MERGE命令从一个或多个数据源中选...

  • 情况一:后台给的日期是Sat Jul 31 2021 21:50:01 GMT+0800 (中国标准时间),如果直接呈现给用户,他们一定会吐槽你不说人话~~~ 情况二:后台给的百分数是小数没有转化成00%格式 采用vue的过滤机制就可以解决这种情况,有两种方式: 第一种:全局写法,在main.js里面加入 // 【...

  • 问题描述 使用main函数的参数,实现一个整数计算器,程序可以接受三个参数,第一个参数“-a”选项执行加法,“-s”选项执行减法,“-m”选项执行乘法,“-d”选项执行除法,后面两个参数为操作数。 例如:输入test.exe  -a 1 2       执行1+2输出3 问题分析 上面的逻辑思维很简单,但是问题在于如何在VS中向...

  • ------------------------siwuxie095                         MyBatis 中 #{} 和 ${} 的区别       1、在 MyBatis 的映射配置文件中,动态传递参数有两种方式:    (1)#{} 占位符    (2)${} 拼接符          2、#{} 和...

  •     #2.6 map()# 第一个参数传入一个函数,,第二个参数为一个可迭代对象li_1 = (1,3,5,7)def funcA(x): return x*xm1 = map(funcA,li_1)print(type(m1))print(m1())# 2.6 reduce()# 第一个参数传入一个函数,第二个参数 可以迭...

  • 列表,元组,字典的转换。 list列表是一组可变的元素集合 列表是'[]'括号组成的,[]括号包含所有元素,列表的创建可以传递字符串,也可以传递多个字符串来创建列表。如"asd", / "a","b" ... tuple元组的创建和列表一致,区别在于 元组是以'()'创建的,并且元组数据不可变。 dict字典不同于列表和元组,他...