数据库访问类(使用存储过程的)

来源:互联网 发布:迅捷网络哪里能下载 编辑:程序博客网 时间:2024/05/19 02:20
[c-sharp] view plaincopyprint?
  1. using System;  
  2. using System.Data;  
  3. using System.Configuration;  
  4. using System.Web;  
  5. using System.Web.Security;  
  6. using System.Web.UI;  
  7. using System.Web.UI.WebControls;  
  8. using System.Web.UI.WebControls.WebParts;  
  9. using System.Web.UI.HtmlControls;  
  10. using System.Data.SqlClient;  
  11. public class DataBase  
  12. {  
  13.     //使用单件模式,只能实例化一个对象,所有方法都是静态方法;  
  14.     private static DataBase _instance;  
  15.     public DataBase()  
  16.     {  
  17.     }  
  18.     public static DataBase GetInstance()  
  19.     {   
  20.       if(_instance==null)  
  21.      {  
  22.          _instance = new DataBase();  
  23.       }  
  24.       return _instance;  
  25.     }  
  26.     //得到并返回一个打开的数据库链接。  
  27.     public static SqlConnection ReturnConn()  
  28.     {  
  29.         string strConn = System.Configuration.ConfigurationManager.AppSettings["ConnectionString"];  
  30.         SqlConnection Conn = new SqlConnection(strConn);  
  31.         if (Conn.State.Equals(ConnectionState.Closed))  
  32.         {  
  33.             Conn.Open();  
  34.         }  
  35.         return Conn;  
  36.     }  
  37.     //①将存储过程转换成SqlCommand;(存储过程名,字段集合,数据库连接)  
  38.     public static SqlCommand CreateCmd(string procName, SqlParameter[] prams, SqlConnection Conn)  
  39.     {  
  40.         SqlConnection SqlConn = Conn;  
  41.         if (SqlConn.State.Equals(ConnectionState.Closed))  
  42.         {  
  43.             SqlConn.Open();  
  44.         }  
  45.         SqlCommand Cmd = new SqlCommand();  
  46.         Cmd.CommandType = CommandType.StoredProcedure;  
  47.         Cmd.Connection = SqlConn;  
  48.         Cmd.CommandText = procName;  
  49.         if (prams != null)  
  50.         {  
  51.             foreach (SqlParameter parameter in prams)  
  52.             {  
  53.                 if (parameter != null)  
  54.                 {  
  55.                     Cmd.Parameters.Add(parameter);  
  56.                 }  
  57.             }  
  58.         }  
  59.         return Cmd;  
  60.     }  
  61.     //②将存储过程转换成SqlCommand;(存储过程名,字段集合)  
  62.     public static SqlCommand CreateCmd(string procName, SqlParameter[] prams)  
  63.     {  
  64.         SqlConnection Conn = ReturnConn();  
  65.         SqlCommand Cmd = new SqlCommand();  
  66.         Cmd.CommandType = CommandType.StoredProcedure;  
  67.         Cmd.Connection = Conn;  
  68.         Cmd.CommandText = procName;  
  69.         if (prams != null)  
  70.         {  
  71.             foreach (SqlParameter parameter in prams)  
  72.             {  
  73.                 if (parameter != null)  
  74.                 {  
  75.                     Cmd.Parameters.Add(parameter);  
  76.                 }  
  77.             }  
  78.         }  
  79.         return Cmd;  
  80.     }  
  81.     //③将存储过程转换成SqlCommand;(存储过程名,数据库连接)  
  82.     public static SqlCommand CreateCmd(string procName,SqlConnection Conn)  
  83.     {  
  84.         SqlConnection SqlConn = Conn;  
  85.         if (SqlConn.State.Equals(ConnectionState.Closed))  
  86.         {  
  87.             SqlConn.Open();  
  88.         }  
  89.         SqlCommand Cmd = new SqlCommand();  
  90.         Cmd.CommandType = CommandType.StoredProcedure;  
  91.         Cmd.Connection = SqlConn;  
  92.         Cmd.CommandText = procName;  
  93.         return Cmd;  
  94.     }  
  95.     //④将存储过程转换成SqlCommand;(存储过程名)  
  96.     public static SqlCommand CreateCmd(string procName)  
  97.     {  
  98.         SqlConnection Conn = ReturnConn();  
  99.         SqlCommand Cmd = new SqlCommand();  
  100.         Cmd.CommandType = CommandType.StoredProcedure;  
  101.         Cmd.Connection = Conn;  
  102.         Cmd.CommandText = procName;  
  103.         return Cmd;  
  104.     }  
  105.     //①执行存储过程并返回一个SqlDataReader对象,(存储过程名,字段集合)  
  106.     public static SqlDataReader RunProcGetReader(string procName, SqlParameter[] prams)  
  107.     {  
  108.         SqlCommand Cmd = CreateCmd(procName, prams);  
  109.         SqlDataReader Dr = Cmd.ExecuteReader(CommandBehavior.CloseConnection);  
  110.         return Dr;  
  111.     }  
  112.     //②执行存储过程并返回一个SqlDataReader对象,(存储过程名,字段集合,数据库连接)  
  113.     public static SqlDataReader RunProcGetReader(string procName, SqlParameter[] prams, SqlConnection Conn)  
  114.     {  
  115.         SqlCommand Cmd = CreateCmd(procName, prams,Conn);  
  116.         SqlDataReader Dr = Cmd.ExecuteReader(CommandBehavior.CloseConnection);  
  117.         return Dr;  
  118.     }  
  119.     //③执行存储过程并返回一个SqlDataReader对象,(存储过程名,数据库连接)  
  120.     public  static SqlDataReader RunProcGetReader(string procName, SqlConnection Conn)  
  121.     {  
  122.         SqlCommand Cmd = CreateCmd(procName,Conn);  
  123.         SqlDataReader Dr = Cmd.ExecuteReader(CommandBehavior.CloseConnection);  
  124.         return Dr;  
  125.     }  
  126.     //④执行存储过程并返回一个SqlDataReader对象,(存储过程名)  
  127.     public static SqlDataReader RunProcGetReader(string procName)  
  128.     {  
  129.         SqlCommand Cmd = CreateCmd(procName);  
  130.         SqlDataReader Dr = Cmd.ExecuteReader(CommandBehavior.CloseConnection);  
  131.         return Dr;  
  132.     }  
  133.     //执行存储过程并返回一个DataTable对象,(存储过程名,字段集合,数据库连接)  
  134.     public static DataTable RunProcGetTable(string procName, SqlParameter[] prams, SqlConnection Conn)  
  135.     {  
  136.         SqlCommand Cmd = CreateCmd(procName, prams, Conn);  
  137.         SqlDataAdapter Dtr = new SqlDataAdapter();  
  138.         DataSet Ds = new DataSet();  
  139.         Dtr.SelectCommand = Cmd;  
  140.         Dtr.Fill(Ds);  
  141.         DataTable Dt = Ds.Tables[0];  
  142.         Conn.Close();  
  143.         return Dt;  
  144.     }  
  145.     //①直接执行存储过程,返回整形数据。(存储过程名)  
  146.     public static int RunExecute(string procName)  
  147.     {  
  148.         SqlConnection Conn = ReturnConn();  
  149.         SqlCommand Cmd = CreateCmd(procName,Conn);  
  150.         int intResult = Cmd.ExecuteNonQuery();  
  151.         Conn.Close();  
  152.         return intResult;  
  153.     }  
  154.     //②直接执行存储过程,返回整形数据。(存储过程名,字段集合)  
  155.     public static int RunExecute(string procName,SqlParameter[] prams)  
  156.     {  
  157.         SqlConnection Conn = ReturnConn();  
  158.         SqlCommand Cmd = CreateCmd(procName,prams,Conn);  
  159.         int intResult = Cmd.ExecuteNonQuery();  
  160.         Conn.Close();  
  161.         return intResult;  
  162.     }  
  163.     public static int RunExecuteScalar(string procName)  
  164.     {  
  165.         SqlConnection Conn = ReturnConn();  
  166.         SqlCommand Cmd = CreateCmd(procName, Conn);  
  167.         int intResult = Convert.ToInt32(Cmd.ExecuteScalar());  
  168.         Conn.Close();  
  169.         return intResult;  
  170.     }  
  171.     public static int RunExecuteScalar(string procName, SqlParameter[] prams)  
  172.     {  
  173.         SqlConnection Conn = ReturnConn();  
  174.         SqlCommand Cmd = CreateCmd(procName, prams, Conn);  
  175.         int intResult =Convert.ToInt32(Cmd.ExecuteScalar());  
  176.         Conn.Close();  
  177.         return intResult;  
  178.     }  
  179. }  
原创粉丝点击