使用DbHelperSQL调用存储过程的方法

2023-11-18

下面代码是个调用存储过程的例子,对于学习怎么使用DbHelperSQL调用存储过程很有帮助.

/// <summary>
/// 获得数据集
/// </summary>
/// <param name="tblName">表名</param>
/// <param name="RetColumns">需要返回的列,默认为全部 </param>
/// <param name="Orderfld">排序字段名</param>
/// <param name="PageSize">页尺寸</param>
/// <param name="PageIndex">页码 </param>
/// <param name="IsCount">返回记录总数, 非 0 值则返回 </param>
/// <param name="OrderType">设置排序类型, 非 asc 值则降序 </param>
/// <param name="strWhere">查询条件 (注意: 不要加 where) </param>
/// <returns>数据集</returns>
public static SqlDataReader Get_DataReader(string tblName,string RetColumns,string Orderfld,int PageSize,int PageIndex,int IsCount,string OrderType,string strWhere)
{
IDataParameter[] parameters = new SqlParameter[8];
parameters[0]=new SqlParameter("@tblName", SqlDbType.NVarChar,255);//表名
parameters[1]=new SqlParameter("@RetColumns", SqlDbType.NVarChar,1000);//需要返回的列,默认为全部
parameters[2]=new SqlParameter("@Orderfld", SqlDbType.NVarChar,255);//排序字段名
parameters[3]=new SqlParameter("@PageSize", SqlDbType.Int);//页尺寸
parameters[4]=new SqlParameter("@PageIndex", SqlDbType.Int);//页码
parameters[5]=new SqlParameter("@IsCount", SqlDbType.Bit);//返回记录总数, 非 0 值则返回
parameters[6]=new SqlParameter("@OrderType", SqlDbType.NVarChar,50);//设置排序类型, 非 asc 值则降序
parameters[7]=new SqlParameter("@strWhere", SqlDbType.NVarChar,1000);//查询条件 (注意: 不要加 where)

parameters[0].Value=tblName;
parameters[1].Value=RetColumns;
parameters[2].Value=Orderfld;
parameters[3].Value=PageSize;
parameters[4].Value=PageIndex;
parameters[5].Value=IsCount;
parameters[6].Value=OrderType;
parameters[7].Value=strWhere;
try
{
return DbHelperSQL.RunProcedure("proc_y_GetRecordFromPage",parameters);
}
catch
{
return null;
}
}

/// <summary>
/// 执行存储过程
/// </summary>
/// <param name="storedProcName">存储过程名</param>
/// <param name="parameters">存储过程参数</param>
/// <returns>SqlDataReader</returns>
public static SqlDataReader RunProcedure(string storedProcName, IDataParameter[] parameters )
{
SqlConnection connection = new SqlConnection(connectionString);
SqlDataReader returnReader;
connection.Open();
SqlCommand command = BuildQueryCommand( connection,storedProcName, parameters );
command.CommandType = CommandType.StoredProcedure;
returnReader = command.ExecuteReader();
return returnReader;
}
/// <summary>
/// 构建 SqlCommand 对象(用来返回一个结果集,而不是一个整数值)
/// </summary>
/// <param name="connection">数据库连接</param>
/// <param name="storedProcName">存储过程名</param>
/// <param name="parameters">存储过程参数</param>
/// <returns>SqlCommand</returns>
private static SqlCommand BuildQueryCommand(SqlConnection connection,string storedProcName, IDataParameter[] parameters)
{
SqlCommand command = new SqlCommand( storedProcName, connection );
command.CommandType = CommandType.StoredProcedure;
foreach (SqlParameter parameter in parameters)
{
command.Parameters.Add( parameter );
}
return command;
}

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

使用DbHelperSQL调用存储过程的方法 的相关文章

随机推荐

  • MySQL与常见面试题

    目录 事务 概述 ACID AUTOCOMMIT 总结 并发一致性问题 丢失修改 读脏数据 不可重复读 幻读 原因和解决方法 隔离级别 未提交读 READ UNCOMMITTED 提交读 READ COMMITTED 可重复读 REPEAT
  • 端口查看(非原创)

    端口查看 非原创 1 Netstat命令用法 命令格式 Netstat a e n o s an a 表示显示所有活动的TCP连接以及计算机监听的TCP和UDP端口 e 表示显示以太网发送和接收的字节数 数据包数等 n 表示只以数字形式显示
  • c# .net mvc的IHttpHandler奇妙之旅。.net的生命周期和管道你听说过吗?你可以利用他处理业务如:跳转业务页面,文件请求的安全过滤,等等,还有许多神秘业务等着你去发现

    源码下载 c net mvc图片文件请求安全过滤 图片防盗链 https download csdn net download cplvfx 88206428 c net mvc的IHttpHandler奇妙之旅 net的生命周期和管道你听
  • TensorRT部署YOLOv5(02)-环境介绍

    本文对TensorRT部署YOLOv5模型的整体环境配置及软件包进行介绍 实验环境主要从主机和JestonNano两方面进行介绍 在主机端完成模型训练并转换为onnx中间模型表示 在JestonNano进行onnx模型转换为TensorRT
  • cocos2dx 3.0 新建工程

    打开终端 转到cocos2d 3 0的这个目录下tools cocos2d console bin cocos py cocos py 运行命令 会显示该命令的帮助 根据帮助提示进行操作 有以下几个命令可用 compile Compiles
  • 游戏开发unity编译和调试系列:Unsafe code may only appear if compiling with /unsafe

    问题 Unsafe code may only appear if compiling with unsafe Enable Allow unsafe code in Player Settings to fix this error 解决
  • MySQL中的锁机制和MVCC

    MySQL中的锁和MVCC 概述 InnoDB的MVCC MVCC锁相关 SQL语句的加锁分析 RR隔离级别是如何解决幻读的 死锁 模拟死锁 在学习MySQL中的锁机制相关时搜集了几篇写得非常不错的博客 这里就不再花时间详细介绍 本篇仅做总
  • 批量异步更新策略及 nextTick 原理?

    在Vue中 当需要对多个响应式数据进行异步更新时 可以使用 批量异步更新策略 Vue在更新组件状态时 会将所有的异步更新合并成一个批量更新 从而避免不必要的重复渲染和提高性能 Vue中的异步更新策略是基于 事件循环 Event Loop 的
  • numpy 索引和切片

    目录 1 索引元素 2 切片 省略参数写法 3 应用举例 4 多维数组 二维数组获取一行 二维数组获取一列 5 多维数组的切片 如果要获取 第一行的第四和第五个元素 如果得到数组的最后两行和最后两列 如果得到数组的第三列 如果取出第3 5行
  • (局部特征)HOG+SVM,LBP,Haar

    在利用多幅二维图像进行三维重建 恢复场景三维结构的应用中 其基本出发点是要有一个可靠的图像对应点集合 而自动地建立图像之间 点与点之间的可靠对应关系通常都依赖于一个优秀的局部图像特征描述子 在物体识别中 目前非常流行以及切实可行的方法之一是
  • 记录QT4键盘无法置顶问题

    键盘类设置 QWidget setWindowFlags windowFlags Qt WindowStaysOnTopHint Qt FramelessWindowHint Qt X11BypassWindowManagerHint 莫名
  • bash脚本,自动输入sudo的密码

    解决方法 echo 管道 开始使用 echo admin sudo service tomcat7 stop 始终提示输入密码 后来查看了下sudo命令的使用 man sudo 发现有如下的解释 S The S stdin option c
  • go并发模型GPM

    线程模型的三种实现方式 用户级线程 M 1对应关系 多个用户态线程对应着一个内核线程 用户态线程的创建 终止 切换 同步等线程工作必须由自身来完成 内核级线程 1 1对应关系 直接调用操作系统的内核线程 所有线程的创建 终止 切换 同步等操
  • mysql数据库丢库记

    2021 1 29 记 环境 Windows10 mysql5 6 Navicat12 原因 电脑突然关机 启动后通过Navicat连接发现少了一个库 让人无比迷茫 为啥会出现丢库现象 解决方案 无比庆幸的是在几个小时之前 我对丢失的库做过
  • 赋值运算符的错误使用举例

    和 运算符的错误使用 运算符在C语言中为赋值运算符 运算符为检查符号两边的值是否是相等的操作 当某些程序的本意是比较运算符的时候 可能会无疑写成了赋值运算符 比如下面的程序 本意是要检查x是否等于y 但是实际上是把y的值的赋值给了x 然后去
  • android studio 编译时出现 Build completed with 1 failures错误

    okhttp keep class okhttp3 keep interface okhttp3 dontwarn okhttp3 出现 Build completed with 1 failures 这个问题上面只是导致这个错误的一种 出
  • 嵌入式linux基础学习全套精品视频教程

    嵌入式linux基础学习全套精品视频教程 在给大家分享教程之前 首先给大家简要的介绍一下嵌入式linux 嵌入式linux 是将日益流行的Linux操作系统进行裁剪修改 使之能在嵌入式计算机系统上运行的一种操作系统 嵌入式linux既继承了
  • nginx中自动在二级目录后加斜杠

    有时候在Nginx的伪静态中 二级目录无法自动加斜杠 导致目录无法打开 可以加 optimize server names off server name in redirect off 但是又时候可能不通用 所以在虚拟主机中加入一段万能的
  • kuangbin的模板

    直接链接 间接链接
  • 使用DbHelperSQL调用存储过程的方法

    下面代码是个调用存储过程的例子 对于学习怎么使用DbHelperSQL调用存储过程很有帮助