ASP.NET数据库驱动类的实现:DBHelper

下面这段代码实现一个ASP.NET数据库驱动类:DBHelper。


  1. using System;  
  2. using System.Collections.Generic;  
  3. using System.Text;  
  4. using System.Data;  
  5. using System.Data.SqlClient;  
  6. namespace DBUtility  
  7. {  
  8.     public static class SQLHelper  
  9.     {  
  10.         private static string connectionString =   
  11.             @"server=./SQLEXPRESS;uid=sa;pwd=;database=MyBookShop";  
  12.         private static SqlConnection sqlConn;  
  13.         /// < summary>  
  14.         ///   
  15.         /// < /summary>  
  16.         /// < param name="sql">< /param>  
  17.         /// < returns>< /returns>  
  18.         public static SqlDataReader GetDataReader(string sql)  
  19.         {  
  20.             try 
  21.             {  
  22.                 sqlConn = new SqlConnection(connectionString);  
  23.                 sqlConn.Open();  
  24.                 SqlCommand sqlCmd = new SqlCommand(sql,sqlConn);  
  25.                 SqlDataReader sqlDr =   
  26.                     sqlCmd.ExecuteReader(CommandBehavior.CloseConnection);  
  27.                 return sqlDr;  
  28.             }  
  29.             catch (SqlException ex)  
  30.             {  
  31.                 throw ex;  
  32.             }             
  33.         }  
  34.         public static object ExecScalar(string sql)  
  35.         {  
  36.             try 
  37.             {  
  38.                 sqlConn = new SqlConnection(connectionString);  
  39.                 sqlConn.Open();  
  40.                 SqlCommand sqlCmd = new SqlCommand(sql, sqlConn);  
  41.                 object obj =  
  42.                     sqlCmd.ExecuteScalar();  
  43.                 return obj;  
  44.             }  
  45.             catch (SqlException ex)  
  46.             {  
  47.                 throw ex;  
  48.             }  
  49.             finally 
  50.             {  
  51.                 sqlConn.Close();  
  52.             }  
  53.         }  
  54.         /// < summary>  
  55.         /// ASP.NET数据库驱动类:执行带参的命令式的存储过程  
  56.         /// < /summary>  
  57.         /// < param name="procName">存储过程名称< /param>  
  58.         /// < param name="paras">为存储过程的参数解决赋参的SqlParameter对象数组  
  59.         /// (每一个SqlParameter对象为一个参数解决赋参)< /param>  
  60.         /// < returns>存储过程的返回值< /returns>  
  61.         public static int ExecuteProc1(string procName,  
  62.             SqlParameter[] paras)  
  63.         {  
  64.             try 
  65.             {  
  66.                 sqlConn = new SqlConnection(connectionString);  
  67.                 sqlConn.Open();  
  68.                 SqlCommand sqlCmd = new SqlCommand(procName, sqlConn);  
  69.                 //执行存储过程类型  
  70.                 sqlCmd.CommandType = CommandType.StoredProcedure;  
  71.                 sqlCmd.Parameters.AddRange(paras);  
  72.                 SqlParameter p = new SqlParameter();  
  73.                 //取存储过程的返回值  
  74.                 p.Direction = ParameterDirection.ReturnValue;  
  75.                 p.SqlDbType = SqlDbType.Int;  
  76.                 sqlCmd.Parameters.Add(p);  
  77.                 sqlCmd.ExecuteNonQuery();  
  78.                 int v = p.Value==null?-1:Convert.ToInt32(p.Value);  
  79.                 return v;               
  80.             }  
  81.             catch (SqlException ex)  
  82.             {  
  83.                 throw ex;  
  84.             }  
  85.             finally 
  86.             {  
  87.                 sqlConn.Close();  
  88.             }  
  89.         }  
  90.         /// < summary>  
  91.         /// ASP.NET数据库驱动类:执行带参的查询式的存储过程  
  92.         /// < /summary>  
  93.         /// < param name="procName">存储过程名称< /param>  
  94.         /// < param name="paras">为存储过程的参数解决赋参的SqlParameter对象数组  
  95.         /// (每一个SqlParameter对象为一个参数解决赋参)< /param>  
  96.         /// < returns>存储过程执行完毕后如果在数据库服务器端形成一个  
  97.         /// 查询结果集,则返回指向该结果集的一个数据读取器对象< /returns>  
  98.         public static SqlDataReader ExecuteProc2(string procName,  
  99.             SqlParameter[] paras)  
  100.         {  
  101.             try 
  102.             {  
  103.                 sqlConn = new SqlConnection(connectionString);  
  104.                 sqlConn.Open();  
  105.                 SqlCommand sqlCmd = new SqlCommand(procName, sqlConn);  
  106.                 //执行存储过程类型  
  107.                 sqlCmd.CommandType = CommandType.StoredProcedure;  
  108.                 sqlCmd.Parameters.AddRange(paras);  
  109.                  
  110.                 SqlDataReader sqlDr =   
  111.                     sqlCmd.ExecuteReader(CommandBehavior.CloseConnection);  
  112.                   
  113.                 return sqlDr;  
  114.             }  
  115.             catch (SqlException ex)  
  116.             {  
  117.                 throw ex;  
  118.             }             
  119.         }  
  120.     }  
  121. }  

    以上就是ASP.NET数据库驱动类DBHelper的实现代码。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值