using System.Data;
using System.Data.SqlClient;
using System.Configuration;
using System.IO;
/*
* AUTHOR:ZHANGLEI
* CREATE DATE:2007.1.5
* 功能:BLL層,實現了數據庫操作的封裝
* 并且提供了足 " /> 入禽太深免费视频10,free性欧美xxx狂欢,亚洲 欧美 日本 国产 高清

天天躁日日躁狠狠躁AV麻豆-天天躁人人躁人人躁狂躁-天天澡夜夜澡人人澡-天天影视香色欲综合网-国产成人女人在线视频观看-国产成人女人视频在线观看

自己常用到的自定義公共類(已測試通過)

using System;
using System.Data;
using System.Data.SqlClient;
using System.Configuration;
using System.IO;
/*
 * AUTHOR:ZHANGLEI
 * CREATE DATE:2007.1.5
 * 功能:BLL層,實現了數據庫操作的封裝
 * 并且提供了足夠的執行存儲過程的參數組合
 * DESCRIPTION:本類中用到了方法重載
 * ExecuteDataSet方法在本類中實現了四次重載
 * */
namespace job_17
{
 /// <summary>
 /// job17 的摘要說明。
 /// </summary>
 public class job17
 {
  private readonly string P_Con=ConfigurationSettings.AppSettings["P_Con"].ToString();
  public job17()
  {
   //
   // TODO: 在此處添加構造函數邏輯
   //
  }
  #region "執行任意參數組合的存儲過程"
  /// <summary>
  /// 命令準備操作,提供足夠多的參數組合
  /// 本類中一個比較重要的方法
  /// </summary>
  public void preparecommand(SqlConnection myconn,SqlCommand mycomm,SqlTransaction trans,CommandType cmdType,string cmdText,SqlParameter[] param) //注意里面的參數
  {
   if (myconn.State!=ConnectionState.Open)
   {
   myconn.Open();
   }
   mycomm.Connection=myconn;
   mycomm.CommandText=cmdText;
   if (trans!=null)
   {
   mycomm.Transaction=trans;
   }
   mycomm.CommandType=cmdType;
   if (param!=null)
   {
    foreach(SqlParameter parameter in param)
    {
    mycomm.Parameters.Add(parameter);
    }
   }
  }
  /// <summary>
  /// 第一個返回DataSet類型的ExecuteDataSet方法
  /// </summary>
  public DataSet ExecuteDataSet(SqlConnection myconn,CommandType cmdType,string cmdText,SqlParameter[] commandpara)
  {
  SqlCommand mycomm=new SqlCommand();
   preparecommand(myconn,mycomm,(SqlTransaction)null,cmdType,cmdText,commandpara);
   SqlDataAdapter adpt=new SqlDataAdapter(mycomm); //調用上方的preparecommand方法
   DataSet ds=new DataSet();
   adpt.Fill(ds);
   mycomm.Parameters.Clear();
   return ds;
  }
  /// <summary>
  /// 第二個返回DataSet類型的ExecuteDataSet方法
  /// 是在第一個方法的基礎上實現,實現了ExecuteDataSet方法的重載
  /// </summary>
  public DataSet ExecuteDataSet (string connstr,CommandType cmdType,string cmdText,SqlParameter[] cmdpara)//方法重載,在第一種的基礎上重載,以便提供足夠多的參數組合
  {
   using(SqlConnection myconn=new SqlConnection(connstr))
   {
   return ExecuteDataSet(myconn,cmdType,cmdText,cmdpara);
   }
  }
  /// <summary>
  /// 第三個返回DataSet類型的ExecuteDataSet方法 
  /// 提供使用存儲過程時不帶參數的組合
  /// </summary>
  public DataSet ExecuteDataSet(SqlConnection myconn,CommandType cmdType,string cmdText)
  {
  return ExecuteDataSet(myconn,cmdType,cmdText,(SqlParameter[])null);
  }
  /// <summary>
  /// 第四個返回DataSet類型的ExecuteDataSet方法
  /// 提供使用存儲過程時不帶參數的組合
  /// </summary>
  public DataSet ExecuteDataSet (string connstr,CommandType cmdType,string cmdText)
  {
  return ExecuteDataSet(connstr,cmdType,cmdText,(SqlParameter[])null);
  }
  #endregion
  #region "執行返回結果的sql語句"
  /// <summary>
  /// 返回結果的類型為DataTable
  /// </summary>
  public DataTable ExecuteDataTablesql(string sql)
  {
  SqlConnection myconn=new SqlConnection(P_Con);
   SqlDataAdapter adpt=new SqlDataAdapter(sql,myconn);
   DataSet ds=new DataSet();
   adpt.Fill(ds);
   return  ds.Tables[0];
  }
  /// <summary>
  /// 返回結果的類型為SqlDataReader
  /// </summary>
  public SqlDataReader ExecuteDataReadersql(string sql)
  {
  SqlConnection myconn=new SqlConnection(P_Con);
   SqlDataReader dr=null;
   SqlCommand mycomm=new SqlCommand(sql,myconn);
   try
   {
    myconn.Open();
    dr=mycomm.ExecuteReader();
   }
   catch
   {
//    StreamWriter sw=new StreamWriter(@"c:/err.txt",true,System.Text.Encoding.GetEncoding("GB2312"));
//    sw.WriteLine("============================出錯信息==========================");
//    sw.WriteLine("出錯時間:"+DateTime.Now.ToString()+"");
//    sw.WriteLine(ex.ToString());
//    sw.Close();
    throw;
   }
   return dr;
  }
  /// <summary>
  /// 返回結果的類型為DataSet 
  /// </summary>
  public DataSet ExecutesqlDS(string sql)
  {
    SqlConnection myconn=new SqlConnection(P_Con);
   SqlDataAdapter adpt=new SqlDataAdapter (sql,myconn);
   DataSet ds=new DataSet();
   adpt.Fill(ds);
   return ds;
  }
  #endregion
  #region "執行不返回結果的sql語句"
  /// <summary>
  /// 執行不返回結果的sql語句
  /// </summary>
  public void ExecuteNonsql(string sql)
  {
  SqlConnection myconn=new SqlConnection(P_Con);
   SqlCommand mycomm=new SqlCommand(sql,myconn);
   try
   {
    myconn.Open();
    mycomm.ExecuteNonQuery();
    myconn.Close();
   }
   catch(Exception e)
   {
//   StreamWriter sw=new StreamWriter(@"c:/err.txt",true,System.Text.Encoding.GetEncoding("GB2312"));
//    sw.WriteLine("============================出錯信息==========================");
//    sw.WriteLine("出錯時間:"+DateTime.Now.ToString()+"");
//    sw.WriteLine(e.ToString());
//    sw.Close();
    throw new Exception(e.Message,e);
   }
  }
  #endregion
  #region "啟用帶事務的sql語句如(insert,update)"
  /// <summary>
  /// 使用事務處理
  /// </summary>
  public void ExecuteTransql(string sql)
  {
  SqlConnection myconn=new SqlConnection(P_Con);
   SqlCommand mycomm=new SqlCommand(sql,myconn);
   SqlTransaction trans=null;
   try
   {
    myconn.Open();
    trans=myconn.BeginTransaction();
    mycomm.Transaction=trans;
    mycomm.ExecuteNonQuery();
    trans.Commit();
   }
   catch(Exception ex)
   {
   trans.Rollback();
    throw new Exception(ex.Message,ex);
   }
  }
  #endregion
 }
}

AspNet技術自己常用到的自定義公共類(已測試通過),轉載需保留來源!

鄭重聲明:本文版權歸原作者所有,轉載文章僅為傳播更多信息之目的,如作者信息標記有誤,請第一時間聯系我們修改或刪除,多謝。

主站蜘蛛池模板: 一区二区三区四区国产 | 4480YY无码午夜私人影院 | 美妇教师双飞后菊 | 第一次破女初国产美女 | 一级毛片直接看 | 久久囯产精品777蜜桃传媒 | 成人亚洲视频在线观看 | 一区二区不卡在线视频 | 国产日韩亚洲专区无码 | 最近韩国日本免费观看mv免费版 | 欧美精品色视频 | 精品久久久亚洲精品中文字幕 | 国产国拍亚洲精品av麻豆 | 戳女人屁股流水羞羞漫画 | 国产学生无码中文视频一区 | 无码欧美毛片一区二区三在线视频 | 717影院理论午夜伦不卡久久 | 国产99久久亚洲综合精品西瓜tv | 国产精品久久久久影院嫩草 | 免费精品一区二区三区在线观看 | 全免费午夜一级毛片 | 87影院午夜福利 | 在线精品视频成人网 | 国内精品不卡一区二区三区 | 中文字幕乱码亚洲无线三区 | 久久www免费人成_看片高清 | 黄色三级三级免费看 | 一本色道久久综合亚洲精品蜜桃冫 | 精品视频在线观看视频免费视频 | 日韩av无码在线直播 | 亚洲欧美自拍明星换脸 | 久久影院毛片一区二区 | 欧美午夜精品一区二区蜜桃 | 成人性视频全过程 | 中文字幕视频在线免费观看 | 国产盗摄一区二区三区 | 欧洲美女人 一级毛片 | 神马伦理2019影院不卡片 | 国产在线播放KKK | 国产精品无码中文在线AV | 色网址在线观看 |