asp.net類中公共類DBHelp

 

http://www.cnblogs.com/shuang121/archive/2011/02/27/1966346.html

在asp.net中使用公共類可以節省很多代碼,DBHelp這個類我們經常用,現在來簡單介紹一下:

 

連接字符串從配置文件中讀取
       private readonly static string CONNSTRING = ConfigurationManager.ConnectionStrings["ConnString"].ConnectionString;

       執行增刪改操作方法
       public static void GetExecuteNonQuery(string sqlstr,params SqlParameter[] paras)
       {
         using(SqlConnection conn=new SqlConnection(CONNSTRING))
         {

            try{
             SqlCommand cmd = new SqlCommand(sqlstr,conn);
             cmd.Parameters.AddRange(paras);
             conn.Open();
             cmd.ExecuteNonQuery();

             }catch(OleDbException e){

                 throw new Exception(e.Message);
             }
         }
      
       }

       執行檢索查詢方法
       public static SqlDataReader GetReader(string sqlstr, params  SqlParameter[] paras)
       {

        try{
           SqlConnection conn = new SqlConnection(CONNSTRING);
           SqlCommand cmd = new SqlCommand(sqlstr, conn);
           cmd.Parameters.AddRange(paras);
           conn.Open();
           return cmd.ExecuteReader(CommandBehavior.CloseConnection);

          }catch(OleDbException e){

                 throw new Exception(e.Message);
             }
       }

      注:CommandBehavior.CloseConnection表示關閉SqlDataReader的同時把連接也關掉

       

     返回第一行第一列的方法 
       public static object GetExecuteScalar(string sqlstr, params  SqlParameter[] paras)
       {
           using (SqlConnection conn = new SqlConnection(CONNSTRING))
           {  

               try

               {
               SqlCommand cmd = new SqlCommand(sqlstr, conn);
               cmd.Parameters.AddRange(paras);
               conn.Open();
               return cmd.ExecuteScalar();

           } catch(OleDbException e){

                 throw new Exception(e.Message);
             }
           }
       }

     
       返回DataTable對象
       public static DataTable GetDataSet(string sql, SqlParameter[] paramters)
       {
           using (SqlConnection conn = new SqlConnection(CONNSTRING))
           {

               try{
               DataSet ds = new DataSet();
               SqlCommand command = new SqlCommand(sql, conn);
               command.Parameters.AddRange(paramters);
               SqlDataAdapter adapter = new SqlDataAdapter(command);
               adapter.Fill(ds);
               return ds.Tables[0];

              }catch(OleDbException e){

                 throw new Exception(e.Message);
             }
           }
       }

 返回DataSet

 public static DataSet Query(string sqlstr, params OleDbParameter[] paras)
      {
         using(OleDbConnection conn=new OleDbConnection(CONNSTR))
         {
             try
             {
                 DataSet ds = new DataSet();
                 OleDbCommand cmd = new OleDbCommand(sqlstr, conn);
                 cmd.Parameters.AddRange(paras);
                 OleDbDataAdapter da = new OleDbDataAdapter();
                 da.SelectCommand = cmd;
                 da.Fill(ds, "ds");
             
                 return ds;
             }
             catch (OleDbException e)
             {

                 throw new Exception(e.Message);
             }
         }
      }

 

public static DataSet Query(string sqlstr)
      {
         using(OleDbConnection conn=new OleDbConnection(CONNSTR))
         {
             try
             {
                 DataSet ds = new DataSet();
                 OleDbCommand cmd = new OleDbCommand(sqlstr, conn);
               
                 OleDbDataAdapter da = new OleDbDataAdapter();

                 da.Fill(ds, "ds");
                 return ds;
             }
             catch (OleDbException e)
             {

                 throw new Exception(e.Message);
             }
         }
      }
執行多條SQL語句,實現數據庫事務

  public static void ExecuteSqlTran(ArrayList SQLStringList)
      {

          int fig=0;//用來判斷是否執行成功
          using (OleDbConnection conn = new OleDbConnection(CONNSTR))
          {
              conn.Open();
              OleDbCommand cmd = new OleDbCommand();
              cmd.Connection = conn;
             
              OleDbTransaction tx = conn.BeginTransaction();
              cmd.Transaction = tx;
              try
              {
                  for (int n = 0; n < SQLStringList.Count; n++)
       

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章