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

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

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

【编辑推荐】

  1. 用C#写的ASP.NET数据库操作类
  2. ASP.NET数据库图片存储到Sql2000中
  3. ASP.NET自定义错误处理页面的添加
  4. ASP.NET中的session存储模式运用
  5. ASP.NET中的文件上传下载方法集合
责任编辑:yangsai 来源: 百度空间
相关推荐

2009-07-28 17:36:21

ASP.NET数据库连

2009-07-31 16:45:23

ASP.NET数据库操

2009-07-31 09:57:47

ASP.NET数据库缓

2009-02-23 15:20:03

SQL Server数据库ASP.NET

2009-07-31 13:52:26

ASP.NET数据库图

2009-07-31 17:07:40

ASP.NET数据库连

2009-08-12 11:04:38

ASP.NET和SQL

2009-08-05 15:40:49

ASP.NET连接数据

2009-08-11 12:52:05

ASP.NET数据库程

2009-09-03 19:30:02

ASP.NET数据库SQL Server

2009-07-29 09:12:31

ASP.NET数据库连

2011-08-01 23:34:34

ASP.NETOracle

2009-07-28 14:16:31

ASP.NET与MyS

2010-05-25 08:49:33

连接MySQL

2009-09-13 22:35:12

ASP.NET数据库

2009-07-27 17:58:10

ASP.NET数据库编

2009-07-24 10:06:33

数据库字符串ASP.NET

2009-08-04 10:02:36

中国站长站

2009-07-20 17:03:55

批量插入数据ASP.NET

2009-07-28 11:00:24

Excel导入SQL
点赞
收藏

51CTO技术栈公众号