ADO.NET封装T-SQL存储过程操作类:ProcedureCommand

这篇博客介绍了如何创建一个名为ProcedureCommand的类,用于封装T-SQL存储过程的操作,支持带参数执行和返回结果。该类不包含SqlConnection的具体实现,而是接受SqlConnection作为参数,使用方式类似于SqlCommand。文章详细列出了ExecuteWithOutPara、ExecuteWithPara、ExecuteDataSetWithOutPara和ExecuteDataSetWithPara四个方法,并提供了客户端调用示例代码。存储过程包括更新和查询操作,返回受影响的行数或DataSet。
摘要由CSDN通过智能技术生成

           最近公司项目要频繁操作数据库,需要一个能够执行带参数的存储过程并返回结果的类,于是翻了点资料就写了 ProcedureCommand类来执行存储过程.

         ProcedureCommand类为了较好的移植,因此类中不包括SqlConnection的实现,封装了一个SqlCommand对象,接收SqlConnection当作参数传入,使用起来就像一个SqlCommand一样.

         ProcedureCommand类中包含四个方法,如图:

ExecuteWithOutPara  :不带参数执行存储过程Procedure,返回受影响的行数

注:如果是Select *之类的语句,将返回-1

ExecuteWithPara : 带参数执行存储过程Procedure,返回受影响的行数

ExecuteDataSetWithOutPara:不带参数执行存储过程Procedure,返回一个DataSet

ExecuteDataSetWithPara: 带参数执行存储过程Procedure,返回一个DataSet,

实现代码如下:

 

using  System;
using  System.Data;
using  System.Data.SqlClient;

namespace  System.Data.ProcedureCommand
{
    
/// <summary>
    
/// 数据库存储过程使用类
    
/// 封装了一个SqlCommand
    
/// 
    
/// Build: 2006.10.26 
    
/// @Author: Red_angelX
    
/// </summary>

    public class ProcedureCommand
    
{
        
//全局SqlCommand对象实体
        SqlCommand _sqlCmd;

        
//全局SqlDataAdapter对象
        SqlDataAdapter _sqladapter;

        
/// <summary>
        
/// 执行不带参数的存储过程,并返回受影响的行数
        
/// </summary>
        
/// <param name="sqlconn">SqlConnection实例</param>
        
/// <param name="ProcedureName">存储过程名称</param>
        
/// <returns>受影响的行数</returns>

        public int ExecuteWithOutPara(SqlConnection sqlconn, string ProcedureName)
        
{
            _sqlCmd 
= new SqlCommand(ProcedureName, sqlconn);
            
//设置使用存储过程
            _sqlCmd.CommandType = CommandType.StoredProcedure;

            
if (sqlconn.State != ConnectionState.Open)
            
{
                sqlconn.Open();
            }

            
int ret = -1;
            
try
            
{
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值