为ASP.NET封装的SQL数据库访问类

翻译|其它|编辑:郝浩|2004-12-17 14:19:00.000|阅读 1791 次

概述:

# 界面/图表报表/文档/IDE等千款热门软控件火热销售中 >>

using System; using System.Configuration; using System.Data; using System.Data.SqlClient; using System.Collections; namespace MyCorporation.DepartMent.DataBase { /// /// 通用数据库类 /// public class DataBase { private string ConnStr = null; public DataBase() { ConnStr = ConfigurationSettings.AppSettings["ConnStr"]; } public DataBase(string Str) { try { this.ConnStr = Str; } catch(Exception ex) { throw ex; } } /// /// 返回connection对象 /// /// public SqlConnection ReturnConn() { SqlConnection Conn = new SqlConnection(ConnStr); Conn.Open(); return Conn; } public void Dispose(SqlConnection Conn) { if(Conn!=null) { Conn.Close(); Conn.Dispose(); } GC.Collect(); } /// /// 运行SQL语句 /// /// public void RunProc(string SQL) { SqlConnection Conn; Conn = new SqlConnection(ConnStr); Conn.Open(); SqlCommand Cmd ; Cmd = CreateCmd(SQL, Conn); try { Cmd.ExecuteNonQuery(); } catch { throw new Exception(SQL); } Dispose(Conn); return; } /// /// 运行SQL语句返回DataReader /// /// /// SqlDataReader对象. public SqlDataReader RunProcGetReader(string SQL) { SqlConnection Conn; Conn = new SqlConnection(ConnStr); Conn.Open(); SqlCommand Cmd ; Cmd = CreateCmd(SQL, Conn); SqlDataReader Dr; try { Dr = Cmd.ExecuteReader(CommandBehavior.Default); } catch { throw new Exception(SQL); } //Dispose(Conn); return Dr; } /// /// 生成Command对象 /// /// /// /// public SqlCommand CreateCmd(string SQL, SqlConnection Conn) { SqlCommand Cmd ; Cmd = new SqlCommand(SQL, Conn); return Cmd; } /// /// 生成Command对象 /// /// /// public SqlCommand CreateCmd(string SQL) { SqlConnection Conn; Conn = new SqlConnection(ConnStr); Conn.Open(); SqlCommand Cmd ; Cmd = new SqlCommand(SQL, Conn); return Cmd; } /// /// 返回adapter对象 /// /// /// /// public SqlDataAdapter CreateDa(string SQL) { SqlConnection Conn; Conn = new SqlConnection(ConnStr); Conn.Open(); SqlDataAdapter Da; Da = new SqlDataAdapter(SQL, Conn); return Da; } /// /// 运行SQL语句,返回DataSet对象 /// /// SQL语句 /// DataSet对象 public DataSet RunProc(string SQL ,DataSet Ds) { SqlConnection Conn; Conn = new SqlConnection(ConnStr); Conn.Open(); SqlDataAdapter Da; //Da = CreateDa(SQL, Conn); Da = new SqlDataAdapter(SQL,Conn); try { Da.Fill(Ds); } catch(Exception Err) { throw Err; } Dispose(Conn); return Ds; } /// /// 运行SQL语句,返回DataSet对象 /// /// SQL语句 /// DataSet对象 /// 表名 public DataSet RunProc(string SQL ,DataSet Ds,string tablename) { SqlConnection Conn; Conn = new SqlConnection(ConnStr); Conn.Open(); SqlDataAdapter Da; Da = CreateDa(SQL); try { Da.Fill(Ds,tablename); } catch(Exception Ex) { throw Ex; } Dispose(Conn); return Ds; } /// /// 运行SQL语句,返回DataSet对象 /// /// SQL语句 /// DataSet对象 /// 表名 public DataSet RunProc(string SQL , DataSet Ds ,int StartIndex ,int PageSize, string tablename ) { SqlConnection Conn; Conn = new SqlConnection(ConnStr); Conn.Open(); SqlDataAdapter Da ; Da = CreateDa(SQL); try { Da.Fill(Ds, StartIndex, PageSize, tablename); } catch(Exception Ex) { throw Ex; } Dispose(Conn); return Ds; } /// /// 检验是否存在数据 /// /// public bool ExistDate(string SQL) { SqlConnection Conn; Conn = new SqlConnection(ConnStr); Conn.Open(); SqlDataReader Dr ; Dr = CreateCmd(SQL,Conn).ExecuteReader(); if (Dr.Read()) { Dispose(Conn); return true; } else { Dispose(Conn); return false; } } /// /// 返回SQL语句执行结果的第一行第一列 /// /// 字符串 public string ReturnValue(string SQL) { SqlConnection Conn; Conn = new SqlConnection(ConnStr); Conn.Open(); string result; SqlDataReader Dr ; try { Dr = CreateCmd(SQL,Conn).ExecuteReader(); if (Dr.Read()) { result = Dr[0].ToString(); Dr.Close(); } else { result = ""; Dr.Close(); } } catch { throw new Exception(SQL); } Dispose(Conn); return result; } /// /// 返回SQL语句第一列,第ColumnI列, /// /// 字符串 public string ReturnValue(string SQL, int ColumnI) { SqlConnection Conn; Conn = new SqlConnection(ConnStr); Conn.Open(); string result; SqlDataReader Dr ; try { Dr = CreateCmd(SQL,Conn).ExecuteReader(); } catch { throw new Exception(SQL); } if (Dr.Read()) { result = Dr[ColumnI].ToString(); } else { result = ""; } Dr.Close(); Dispose(Conn); return result; } /// /// 生成一个存储过程使用的sqlcommand. /// /// 存储过程名. /// 存储过程入参数组. /// sqlcommand对象. public SqlCommand CreateCmd(string procName, SqlParameter[] prams) { SqlConnection Conn; Conn = new SqlConnection(ConnStr); Conn.Open(); SqlCommand Cmd = new SqlCommand(procName, Conn); Cmd.CommandType = CommandType.StoredProcedure; if (prams != null) { foreach (SqlParameter parameter in prams) { if(parameter != null) { Cmd.Parameters.Add(parameter); } } } return Cmd; } /// /// 为存储过程生成一个SqlCommand对象 /// /// 存储过程名 /// 存储过程参数 /// SqlCommand对象 private SqlCommand CreateCmd(string procName, SqlParameter[] prams,SqlDataReader Dr) { SqlConnection Conn; Conn = new SqlConnection(ConnStr); Conn.Open(); SqlCommand Cmd = new SqlCommand(procName, Conn); Cmd.CommandType = CommandType.StoredProcedure; if (prams != null) { foreach (SqlParameter parameter in prams) Cmd.Parameters.Add(parameter); } Cmd.Parameters.Add( new SqlParameter("ReturnValue", SqlDbType.Int, 4, ParameterDirection.ReturnValue, false, 0, 0, string.Empty, DataRowVersion.Default, null)); return Cmd; } /// /// 运行存储过程,返回. /// /// 存储过程名 /// 存储过程参数 /// SqlDataReader对象 public void RunProc(string procName, SqlParameter[] prams, SqlDataReader Dr) { SqlCommand Cmd = CreateCmd(procName, prams, Dr); Dr = Cmd.ExecuteReader(System.Data.CommandBehavior.CloseConnection); return; } /// /// 运行存储过程,返回. /// /// 存储过程名 /// 存储过程参数 public string RunProc(string procName, SqlParameter[] prams) { SqlDataReader Dr; SqlCommand Cmd = CreateCmd(procName, prams); Dr = Cmd.ExecuteReader(System.Data.CommandBehavior.CloseConnection); if(Dr.Read()) { return Dr.GetValue(0).ToString(); } else { return ""; } } /// /// 运行存储过程,返回dataset. /// /// 存储过程名. /// 存储过程入参数组. /// dataset对象. public DataSet RunProc(string procName,SqlParameter[] prams,DataSet Ds) { SqlCommand Cmd = CreateCmd(procName,prams); SqlDataAdapter Da = new SqlDataAdapter(Cmd); try { Da.Fill(Ds); } catch(Exception Ex) { throw Ex; } return Ds; } } }
标签:

本站文章除注明转载外,均为本站原创或翻译。欢迎任何形式的转载,但请务必注明出处、不得修改原文相关链接,如果存在内容上的异议请邮件反馈至chenjj@evget.com


为你推荐

  • 推荐视频
  • 推荐活动
  • 推荐产品
  • 推荐文章
  • 慧都慧问
扫码咨询


添加微信 立即咨询

电话咨询

客服热线
023-68661681

TOP