閱讀876 返回首頁    go 阿裏雲 go 技術社區[雲棲]


數據庫訪問類(直接執行數據庫操作)

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; /// <summary> /// DB 數據的服務類 /// </summary> public class DB { SqlConnection con = null;//定義一個類屬性,類型為SQL連接 SqlCommand cmd = new SqlCommand();//針對 數據庫操作的命令對象 //利用構造函數初始化 SQL連接 public DB() { con = new SqlConnection("server=.;database=Northwind;uid=sa;pwd=123;"); } public SqlConnection getCon() { if(con.State == ConnectionState.Closed) con.Open();//打開連接 return con; } //關閉連接 public void clear() { if (con.State == ConnectionState.Open) con.Close(); } //根據傳入的SQL語句,執行 public int executeNonQuery(string strSql) { cmd.Connection = getCon(); cmd.CommandText = strSql; int i = cmd.ExecuteNonQuery(); clear(); return i; } //根據傳入的SQL語句 執行 並返回結果 public string executeGetReturn(string strSql)//strSql 是傳入SQL命令語句 { //得到數據的連接 並且這個連接是打開 // getCon(); //建立一個 命令對象 cmd.Connection = getCon(); //命令對象是需要基於 一個已經打開了的連接 cmd.CommandText = strSql; //指定數據庫命令對象的 執行語句 string result = cmd.ExecuteScalar().ToString(); //執行命令語句,並將其以字符串的形式返回 clear(); return result; } //得到一個數據集 public DataSet getDs(string strSql,string tableName) { SqlDataAdapter sda = new SqlDataAdapter(strSql, getCon()); DataSet ds = new DataSet(); sda.Fill(ds, tableName); clear(); return ds; } //根據傳入的SQL語句,執行並返回一個隻向前的數據流DataReader public SqlDataReader getSdr(string strSql) { cmd.Connection = getCon(); cmd.CommandText = strSql; SqlDataReader sdr = cmd.ExecuteReader(); return sdr; } //定義批量執行多條SQL語句的方法 public bool executeTransaction(string[] strSql) { bool flag = false; con = getCon();//得到連接 cmd.Connection = con;//命令對象 SqlTransaction myTransaction; //聲明一個SQL事物類型 myTransaction = con.BeginTransaction();//基於一個連接初始化事物 try { foreach (string sql in strSql)//遍曆 { cmd.Transaction = myTransaction;//指定SQL命令語句 的事物 cmd.CommandText = sql;//給定命令語句 cmd.ExecuteNonQuery();//執行SQL語句 } myTransaction.Commit(); flag = true; } catch (Exception e) { myTransaction.Rollback(); flag = false; } finally { clear(); } return flag; } }

最後更新:2017-04-02 03:42:39

  上一篇:go 1.基本常用命令
  下一篇:go 詳談關於Discuz!NT 的URL地址重寫(URLRewrite)