using System; using System.Data; using System.Configuration; using System.Web; using System.Web.Security; using System.Web.UI; using System.Web.UI.WebControls; using System.Web.UI.WebControls.WebParts; using System.Web.UI.HtmlControls; using System.Data.SqlClient; using System.Collections; /**/ /// <summary>/// sql_base 的摘要说明/// </summary> public class sql_base:IDisposable ... { public sql_base():this("") ...{ // // TODO: 在此处添加构造函数逻辑 // } //重载 public sql_base(string sql_name) ...{ this.SQL_name = sql_name; } private string sql_name; private SqlCommand mycomm; private string myconn = ConfigurationSettings.AppSettings["conn"]; public SqlConnection conn; //公共变量 public string SQL_name ...{ get ...{ return this.sql_name; } set ...{ sql_name = value; } } /**//// <summary> /// 执行SQL语句,返回数据集:DataTable或DataSet /// </summary> /// <returns>返回DALResult</returns> /// public DALResult ExecuteSqlData() ...{ DALResult result = new DALResult(); conn=new SqlConnection(myconn); mycomm = new SqlCommand(sql_name,this.conn); mycomm.CommandType = CommandType.Text; SqlDataAdapter da = new SqlDataAdapter(mycomm); conn.Open(); using (SqlTransaction trans = conn.BeginTransaction()) ...{ try ...{ if (trans != null) ...{ mycomm.Transaction = trans; } da.Fill(result.dataset); if (result.dataset.Tables.Count > 0) ...{ result.datatable = result.dataset.Tables[0].Copy(); if (result.dataset.Tables[0].Rows.Count > 0) ...{ result.rowsCount = result.dataset.Tables[0].Rows.Count; } } result.IsSucceed = true; //提交事物 trans.Commit(); } catch (Exception e) ...{ result.errorMessage = e.Message; } //如果捕捉了异常,但仍会执行包括在 finally 块中的输出语句 finally ...{ da.Dispose(); mycomm.Dispose(); conn.Close(); conn.Dispose(); } } return result; } public void Dispose() ...{ Dispose(true); GC.SuppressFinalize(true); } protected virtual void Dispose(bool disposing) ...{ if (!disposing) return; if (conn != null) ...{ conn.Dispose(); } } } using System; using System.Data; using System.Configuration; using System.Web; using System.Web.Security; using System.Web.UI; using System.Web.UI.WebControls; using System.Web.UI.WebControls.WebParts; using System.Web.UI.HtmlControls; using System.Collections; /**/ /// <summary>/// DALResult 的摘要说明/// </summary> public class DALResult ... { public bool IsSucceed; //存储过程是否执行成功 public string errorMessage; //访问数据库失败 public int rowsCount; //结果集行数. public object theFirst; //第一行第一列 public Hashtable OutputValues; //存储过程output值,放在(HashTable)表OutputValues里. public DataTable datatable; //存储过程返回的结果集,放在(DataTable)表datatable里. public DataSet dataset; //存储过程返回的结果集,放在DataSet表中 public DALResult() ...{ IsSucceed = false; rowsCount = 0; errorMessage = ""; theFirst = null; OutputValues = new Hashtable(); datatable = new DataTable(); dataset = new DataSet(); } }