您好,欢迎访问一九零五行业门户网

C# 数据库连接类

using system; using system.collections.generic; using system.text; using system.data; using system.data.sqlclient; using system.configuration; namespace xxd.hzd.dbconn { public class dbconn { private sqlconnection scn = null; private strin
using system;
using system.collections.generic;
using system.text;
using system.data;
using system.data.sqlclient;
using system.configuration;
namespace xxd.hzd.dbconn
{
    public class dbconn
    {
 private sqlconnection scn = null;
private string connectionstring = ;
 public dbconn()
 {
     connectionstring = configurationmanager.appsettings[connectionstring].tostring(); //从web.config中读取数据库连接字符串
     scn = new sqlconnection();
     scn.connectionstring = connectionstring;
 }
///
 /// 数据库打开
 ///
 private void dbopen()
 {
     if ( scn == null)
     {
  scn = new sqlconnection();
  scn.connectionstring = connectionstring;
     }
     if ( scn.state == connectionstate.closed)
  {
      scn.open();
  }
  else if (scn.state == connectionstate.broken)
  {
      scn.close();
      scn.open();
  }
 }
 ///
 /// 数据库释放
 ///
 public void dbclose()
 {
     if ( scn != null)
     {
  scn.close();
  scn.dispose();
  scn = null;
     }
 }
 ///
 /// 返回dataset
 ///
 /// sql语句
 /// 数据集
 public dataset getdataset(string strselect)
 {
     dataset ds = new dataset();
     sqldataadapter sda = new sqldataadapter();
     dbopen();
     using ( sda = new sqldataadapter())
  {
      sda.selectcommand = new sqlcommand();
      sda.selectcommand.connection = scn;
      sda.selectcommand.commandtype = commandtype.text;
      sda.selectcommand.commandtext = strselect;
      sda.selectcommand.executenonquery();
      sda.fill(ds);
  }
     dbclose();
     return ds;
 }
 ///
 /// 存储过程返回记录集
 ///
 /// 存储过程名称
 /// 参数
 /// 符合条件的记录集
 public dataset getdataset(string procname, sqlparameter[] sqlparameter)
 {
     dataset ds = new dataset();
     dbopen();
     sqlcommand cm = getcommand(procname, sqlparameter);
     sqldataadapter sda = new sqldataadapter(cm);
     sda.fill(ds);
     dbclose();
     return ds;
 }
 public void getdataset(string procname, sqlparameter[] sqlparameter, out dataset ds)
 {
     ds = new dataset();
     dbopen();
     sqlcommand cm = getcommand(procname, sqlparameter);
     sqldataadapter sda = new sqldataadapter(cm);
     sda.fill(ds);
     dbclose();
 }
///
 /// 删除一条信息
 ///
 /// sql语句
 /// 删除条数
 public int delitem(string strdelete)
 {
     int i = 0 ;
     dbopen();
     using ( sqlcommand cm = new sqlcommand())
     {
     cm.connection = scn;
     cm.commandtype = commandtype.text;
     cm.commandtext = strdelete;
     try
     {
  i = cm.executenonquery();
     }
     catch (sqlexception ex)
     {  
  throw;
     }
     } 
     return i;   
 }
 ///
 /// 取得第一行第一个单元格的值
 ///
 /// sql语句
 /// 返回记录
 public string getscalar(string strselect)
 {
     dbopen();
     sqlcommand cm = new sqlcommand();
     cm.connection = scn;
     cm.commandtype = commandtype.text;
     cm.commandtext = strselect;
     string gradename = cm.executescalar().tostring();
     dbclose();
     return gradename;
 }
 ///
 /// 调用存储过程
 ///
 /// 存储过程名
 /// 存储过程参数
 public int executrproc(string procedurename, sqlparameter[] sqlparameter)
 {
     sqlcommand  cm = null;
     int returnvalue = 0;
     dbopen();
     using (cm = new sqlcommand())
     {
  cm.connection = scn;
  cm.commandtype = commandtype.storedprocedure;
  cm.commandtext = procedurename;
  foreach (sqlparameter sqlpara in sqlparameter)
  {
      cm.parameters.add(sqlpara);
  }
  cm.executenonquery();
  returnvalue = convert.toint32(cm.parameters[8].value);
     }
     dbclose();
     return returnvalue;
 }
 ///
 /// 存储过程有返回值
 ///
 /// 存储过程名称
 /// 存储过程参数
 /// 存储过程返回值
 public string returnproc(string procname, sqlparameter[] sqlparameter)
 {
     dbopen();
     sqlcommand cm = getcommand(procname, sqlparameter);
     cm.executenonquery();
     dbclose();
     return cm.parameters[sqlparameter.length-1].value.tostring();
 }
 ///
 /// 返回一个command
 ///
 /// 存储过程名称
 /// 存储过程参数
 /// command对象
 private sqlcommand getcommand ( string procname, sqlparameter[] sqlparameter)
 {
         sqlcommand cm = new sqlcommand();
     cm.connection = scn;
     cm.commandtype = commandtype.storedprocedure;
     cm.commandtext = procname;
     foreach(sqlparameter sp in sqlparameter)
     {
  cm.parameters.add(sp);
     }
     return cm;
 }
 public sqldatareader getreader(string procname, sqlparameter[] sqlparameter)
 {
     dbopen();
     sqlcommand cm = getcommand(procname, sqlparameter);
     return cm.executereader();
 }
 ///
 /// 执行删除,更新语句
 ///
 /// 存储过程名称
 /// 存储过程参数
 public void execucommand( string procname, sqlparameter[] sqlparameter)
 {
     dbopen();
     sqlcommand cm = getcommand(procname, sqlparameter);
     cm.executenonquery();
     dbclose();    
 }
    }
}
其它类似信息

推荐信息