ADO执行事务
在工作中遇到,需要批量提交的。在sql2008以后有表变量定义,可以实现。但个人比较习惯用C#,就有下面代码,直接上代码。。。
using (SqlConnection conn = new SqlConnection(Conn.Connection))
{
conn.Open();
SqlCommand comm = new SqlCommand() { Connection = conn };
SqlTransaction tran = conn.BeginTransaction();
comm.Transaction = tran;
try
{
comm.CommandType = CommandType.StoredProcedure;
comm.CommandText = "tb_role_INSERT";
SqlParameter[] parms = new SqlParameter[] {
new SqlParameter {ParameterName="@code",Value=array[0].ToString(),SqlDbType=SqlDbType.NVarChar, Size = 100 },
new SqlParameter {ParameterName="@name",Value=array[1].ToString(),SqlDbType=SqlDbType.NVarChar, Size = 500 },
new SqlParameter {ParameterName="@remark",Value=array[2].ToString(),SqlDbType=SqlDbType.NText},
new SqlParameter {ParameterName="@create_time",Value=DateTime.Now,SqlDbType=SqlDbType.DateTime},
new SqlParameter {ParameterName="@create_user_id",Value=Lib.ReadCookie("UserID"),SqlDbType=SqlDbType.Int},
new SqlParameter {ParameterName="@is_active",Value=1,SqlDbType=SqlDbType.Int},
new SqlParameter {ParameterName="@manufacturer_id",Value=Lib.ReadCookie("ManuID"),SqlDbType=SqlDbType.Int},
new SqlParameter {ParameterName="@custid",Value=Lib.ReadCookie("CustID"),SqlDbType=SqlDbType.Int},
new SqlParameter{ParameterName="@tb_roleID",Direction=ParameterDirection.Output,SqlDbType=SqlDbType.Int},
};
comm.Parameters.AddRange(parms);
comm.ExecuteNonQuery();
int id = Convert.ToInt32(comm.Parameters["@tb_roleID"].Value);
ArrayList sqlList = GetRolePermissionList(id, array[7].ToString());
for (int i = 0; i < sqlList.Count; i++)
{
string str2 = sqlList[i].ToString();
if (str2.Trim().Length > 1)
{
comm.CommandType = CommandType.Text;
comm.CommandText = str2;
comm.ExecuteNonQuery();
}
}
tran.Commit();
}
catch (SqlException ex)
{
tran.Rollback();
messge = ex.Message;
}
}
最新文章
- js判断是手机还是电脑访问网站
- 使用you-get下载视频网站视频或其他
- java 堆栈分析3
- 不错的TOMCAT监控好工具probe
- 网络编程:Http通信与Socket通信
- java笔记--反射机制之基础总结与详解
- D3D标注动态避让
- Xcode6.2创建Empty Application
- python(5)- sys.stdout()实现进度条
- Winform打包发布图解
- TControl.GetDeviceContext会给图形控件建立新的坐标原点和建立新的剪裁区域
- Wordpress上传文件 “无法建立目录wp-content/uploads/2018/25。有没有上级目录的写权限?”
- Excel生成guid、uuid
- javascript三角函数的使用
- python 字典用法
- mysql技巧
- affiliate的使用方式
- thinkphp中用ajax对数据库进行操作
- C#结婚吧(if else if)
- 1: Myeclipse10 优化设置
热门文章
- PHP自定义函数获取汉字首字母的方法
- solr增量数据配置说明
- a标签中href=";";的几种用法(转)
- 学习CSS的思路(转)
- DB2--值为null则赋默认值
- MarkdownPad 2 安装和破解
- idea中解决Error:java: Compilation failed: internal java compiler error的问题
- springmvc和js前端的数据传递和接收方式
- android studio中使用recyclerview小白篇(一)
- .Net Core Api 使用版本控制