数据库操作类(存储过程)

    相信很多人都有自己的代码库,其中当然包括数据库操作类, 我自己也有。不过我的数据库操作类都是基于SQL语句的,感觉比较落后,前段时间在网上查看了一个系统的数据库操作类,都是基于存储过程的,现在整理出来,大家分享一下。

首先引入必要的命名空间

using  System;
using  System.Data;                       // 存储过程需要用到的命名空间
using  System.Data.SqlClient;
......

 

 

 

 

一:建立一个 “SqlConnection ”连接

         public   static  SqlConnection ReturnCon()
       
{
            
string strCon=System.Configuration.ConfigurationSettings.AppSettings["ConnectionString"];
            SqlConnection con
=new SqlConnection(strCon);
            
if(con.State.Equals(ConnectionState.Closed))
            
{
                con.Open();
            }

            
return con;
         }

 

 

 

 

二:执行 “ SqlCommand ” 命令    //可以有多个重载

         public   static  SqlCommand Creatcmd( string  procname,SqlParameter[] prams)
        
{
            SqlConnection con 
= ReturnCon();
            SqlCommand cmd 
= new SqlCommand();
            cmd.CommandText 
= procname;
            cmd.CommandType 
= CommandType.StoredProcedure;
            
if(prams!=null)
            
{
                
foreach(SqlParameter parameter in prams)
                
{
                    
if(parameter!=null)
                    
{
                        cmd.Parameters.Add(parameter);
                    }

                }

            }

            
return cmd;
        }

 

 

 

 

二(1)执行 cmd 的 ExecuteNonQuery   //对应SqlCommand的参数 有多个重载

         public   static   int  RunExecute( string  procname,SqlParameter[] prams)
        
{
            SqlConnection con
=ReturnCon();
            SqlCommand cmd
=Creatcmd(procname,prams,con);
            
int intResult=Convert.ToInt32(cmd.ExecuteNonQuery());
            con.Close();
            
return intResult;
        }

 

 

 

 

 二(2)执行 cmd 的 ExecuteScalar  //对应SqlCommand的参数 有多个重载

         public   static   int  RunExecuteScalar( string  procname,SqlParameter[] prams)
        
{
            SqlConnection con
=ReturnCon();
            SqlCommand cmd
=Creatcmd(procname,prams,con);
            
int intResult=Convert.ToInt32(cmd.ExecuteScalar());
            con.Close();
            
return intResult;
        }



 

 

三(1):执行 SqlDataReader  读区数据

 

         public   static  SqlDataReader RunProGetReader( string  procname,SqlParameter[] prams)
        
{
            SqlCommand cmd
=Creatcmd(procname,prams);
            SqlDataReader sdr
=cmd.ExecuteReader(CommandBehavior.CloseConnection);
            
return sdr;
        }


 

 

 

三(2):执行 SqlDataAdapter  读区数据 返回 "DataTable" 对象 

         public   static  DataTable RunProGetTable( string  procname,SqlParameter[] prams)
        
{
            SqlCommand cmd
=Creatcmd(procname,prams);
            SqlDataAdapter sda
=new SqlDataAdapter();
            DataSet ds
=new DataSet();
            sda.SelectCommand
=cmd;
            sda.Fill(ds);
            DataTable dt
=ds.Tables[0];
            con.Close();
            
return dt;
        }

 

 

 到此基本的操作已经完成 谢谢..

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值