SQLHelper通用类执行一条返回结果集的SqlCommand命令 使用方法
SQLHelper.cs 通用类
///
/// 执行一条返回结果集的SqlCommand命令,通过专用的连接字符串。
/// 使用参数数组提供参数
///
///
/// 使用示例:
/// SqlDataReader r = ExecuteReader(connString, CommandType.StoredProcedure, “PublishOrders”, new SqlParameter(“@prodid”, 24));
///
/// SqlCommand命令类型 (存储过程, T-SQL语句, 等等。)
/// 存储过程的名字或者 T-SQL 语句
/// 以数组形式提供SqlCommand命令中用到的参数列表
/// 返回一个包含结果的SqlDataReader
public static SqlDataReader ExecuteReader( CommandType cmdType, string cmdText, params SqlParameter[] commandParameters)
{
SqlCommand cmd = new SqlCommand();
SqlConnection conn = new SqlConnection(connString);
// 在这里使用try/catch处理是因为如果方法出现异常,则SqlDataReader就不存在,
//CommandBehavior.CloseConnection的语句就不会执行,触发的异常由catch捕获。
//关闭数据库连接,并通过throw再次引发捕捉到的异常。
try
{
PrepareCommand(cmd, conn, null, cmdType, cmdText, commandParameters);
SqlDataReader rdr = cmd.ExecuteReader(CommandBehavior.CloseConnection);
cmd.Parameters.Clear();
return rdr;
}
catch
{
conn.Close();
throw;
}
}
///
/// 为执行命令准备参数
///
/// SqlCommand 命令
/// 已经存在的数据库连接
/// 数据库事物处理
/// SqlCommand命令类型 (存储过程, T-SQL语句, 等等。)
/// Command text,T-SQL语句 例如 Select * from Products
/// 返回带参数的命令
private static void PrepareCommand(SqlCommand cmd, SqlConnection conn, SqlTransaction trans, CommandType cmdType, string cmdText, SqlParameter[] cmdParms)
{
//判断数据库连接状态
if (conn.State != ConnectionState.Open)
conn.Open();
cmd.Connection = conn;
cmd.CommandText = cmdText;
//判断是否需要事物处理
if (trans != null)
cmd.Transaction = trans;
cmd.CommandType = cmdType;
if (cmdParms != null)
{
foreach (SqlParameter parm in cmdParms)
cmd.Parameters.Add(parm);
}
}
调用方法:
SqlDataReader sqlData = SQLHelper.ExecuteReader(CommandType.StoredProcedure, “XXXXXXXXXXXX”, sqlParameters);
while (sqlData.Read())
{
objProcProduct.ReturnCode = Convert.ToInt32(sqlData[0].ToString());
objProcProduct.ReturnMsg = sqlData[1].ToString();
}
SQLHelper通用类执行一条返回结果集的SqlCommand命令 使用方法相关推荐
- C#操作sql通用类 SQLHelper
Codeusing System; using System.Data; using System.Configuration; using System.Web; using System.Web. ...
- C#操作SQL Server通用类
using System; using System.Data; using System.Configuration; using System.Web; using System.Web.Secu ...
- SQLHelper帮助类
using System; using System.Data; using System.Configuration; using System.Web; using System.Web.Secu ...
- 如何执行一条汇编指令
在电脑中执行一条指令主要又三个步骤: (1)在指定地址上写入一条汇编指令 (2)使cs寄存器与ip寄存器指向指令所在的地址 (3)开始执行 (1)在指定地址写入一条汇编指令: 终端上常用的命令有:R命 ...
- linux打开python3_Python3 执行Linux Bash命令的方法
和之前C++执行Linux Bash命令的方法 一样,Python依然支持system调用和popen()函数来执行linux bash命令. 方法一:system调用 #仅仅在一个子终端运行系统命令 ...
- Java调用linux指令工具类,直接执行cmd,执行grep指令返回结果,执行sed追加指令,hdfs下载指令,获取文件行数
Java调用linux指令工具类,直接执行cmd,执行grep指令返回结果,执行sed追加指令,hdfs下载指令,获取文件行数 问题背景 LinuxUtils工具类 Lyric:梦想挟带眼泪 问题背景 ...
- CMD-C#调用CMD执行多条命令并返回结果
有时候需要执行多条dos命令才能完成一个功能,当然我们可以创建一个bat可执行文件,把命令都写入文件,再用C#去执行可执行文件就可以了. 本篇主要是C#调用cmd来执行命令,就是使用一个可变参数: 案 ...
- Qt之QProcess 连续执行多条指令并获取指令返回内容
简述 system可以连续执行多条指令,只需要使用分号":"分开指令就行,但是system只能返回int类型结果,得不到想要的指令返回内容,且还会阻塞主线程(除非在命令后面加上 & ...
- 中文的SqlHelper.cs类
//这是在网上找的中文解释的SqlHelper using System; using System.Configuration; using System.Data; using Syste ...
最新文章
- 3d卷积神经网络_HSNets:使用卷积神经网络从2D轮廓预测3D人体模型
- apollo 配置中心_分布式配置中心之Apollo
- when is oPropagatedProperties of detail view being generated
- Linux:客户端的实现
- 城市遥感动态监测管理系统
- gbase迁移mysql_基于datax实现从gbase到mysql的数据迁移--时间字段篇
- 自定义生成器函数模拟Python内置函数filter()
- 移动Web开发与适配笔记
- 聚合(Aggregation)和组合(Composition)的区别
- 学前端的记录帖html+css b站千峰19版
- php李炎恢笔记,李炎恢的PHP绘图技术读书笔记五
- 微信小程序——仿写京东购物商城带源码
- gpt和mbr的区别
- 云栖科技评论第56期:莫忧AI泡沫 相信AI兴邦
- 用python爬取微博评论对鹿晗、关晓彤微博进行情感分析
- Unity 水墨风格Shader
- k短路(HDU6705)
- 华为p30怎么删掉云相册的照片_华为手机云空间满了,教你如何清理
- C++实现大整数乘法
- 学JAVA编程用什么电脑配置_学习编程,你真正需要的是什么样配置的电脑?
热门文章
- php creatobject,创建 GUID CreateObject(Scriptlet.TypeLib) 拒绝的权限
- 数码相机镜头卡死拆机修理记录
- Java word 转 pdf jacob方法
- 被面试:sharepoint 是什么?优势是什么?
- chartxy 柱状图_ChartControl 折线图 柱状图
- ubuntu 16.04 LTS 笔记本外接显示器,关闭笔记本显示器的方法
- 服务器虚拟化知识点的总结以及了解虚拟化
- 使用淘宝镜像实现npm install 全局安装
- 基于Java的五子棋游戏的设计与实现
- npm库v9介绍:对种子或磁力链截屏