首頁 php教程 php手册 C# 数据库连接类

C# 数据库连接类

Jun 06, 2016 pm 08:01 PM
php system using 資料庫 連接

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();    
 }
    }
}

本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn

熱門文章

兩個點博物館:邦格荒地地點指南
4 週前 By 尊渡假赌尊渡假赌尊渡假赌
倉庫:如何復興隊友
3 週前 By 尊渡假赌尊渡假赌尊渡假赌
Hello Kitty Island冒險:如何獲得巨型種子
3 週前 By 尊渡假赌尊渡假赌尊渡假赌

熱門文章

兩個點博物館:邦格荒地地點指南
4 週前 By 尊渡假赌尊渡假赌尊渡假赌
倉庫:如何復興隊友
3 週前 By 尊渡假赌尊渡假赌尊渡假赌
Hello Kitty Island冒險:如何獲得巨型種子
3 週前 By 尊渡假赌尊渡假赌尊渡假赌

熱門文章標籤

記事本++7.3.1

記事本++7.3.1

好用且免費的程式碼編輯器

SublimeText3漢化版

SublimeText3漢化版

中文版,非常好用

禪工作室 13.0.1

禪工作室 13.0.1

強大的PHP整合開發環境

Dreamweaver CS6

Dreamweaver CS6

視覺化網頁開發工具

SublimeText3 Mac版

SublimeText3 Mac版

神級程式碼編輯軟體(SublimeText3)

CakePHP 日期和時間 CakePHP 日期和時間 Sep 10, 2024 pm 05:27 PM

CakePHP 日期和時間

適用於 Ubuntu 和 Debian 的 PHP 8.4 安裝和升級指南 適用於 Ubuntu 和 Debian 的 PHP 8.4 安裝和升級指南 Dec 24, 2024 pm 04:42 PM

適用於 Ubuntu 和 Debian 的 PHP 8.4 安裝和升級指南

CakePHP 檔案上傳 CakePHP 檔案上傳 Sep 10, 2024 pm 05:27 PM

CakePHP 檔案上傳

CakePHP 路由 CakePHP 路由 Sep 10, 2024 pm 05:25 PM

CakePHP 路由

討論 CakePHP 討論 CakePHP Sep 10, 2024 pm 05:28 PM

討論 CakePHP

CakePHP 專案配置 CakePHP 專案配置 Sep 10, 2024 pm 05:25 PM

CakePHP 專案配置

CakePHP 快速指南 CakePHP 快速指南 Sep 10, 2024 pm 05:27 PM

CakePHP 快速指南

如何設定 Visual Studio Code (VS Code) 進行 PHP 開發 如何設定 Visual Studio Code (VS Code) 進行 PHP 開發 Dec 20, 2024 am 11:31 AM

如何設定 Visual Studio Code (VS Code) 進行 PHP 開發

See all articles