C#寫的資料庫操作類!
來源:互聯網
上載者:User
資料|資料庫
由於某些原因,軟體依賴的資料庫軟體會出現更換!如果資料庫的開啟和作業碼都出現在每個頁裡,那麼更換資料庫軟體後帶來的代碼修改將相當麻煩。所以把資料庫作業碼寫成一個類,將不會出現上述情況並可以減少代碼量。以下是源碼
using System;
using System.Data;
using System.Data.SqlClient;
namespace news.common
{
/**
* -----------------
* 資料庫聯結 / 操作類
* 2005-03-18 建立
* Ryan_bin@126.com
* ----------------
*/
public class DBClass
{
/*----全域變數定義------*/
private SqlConnection conn;
private SqlCommand comm;
public SqlDataReader dr;
public DataSet ds;
public SqlDataAdapter dad;
private string sql;
private string connStr; /* 資料庫聯結字串 */
private string errInfo ="";
/*----------------------*/
public DBClass()
{
}
/* 資料庫操作異常資訊 唯讀屬性 */
public string ErrInfo
{
get
{
return errInfo;
}
}
/* 要操作的Sql語句 */
public string Sql
{
get{
return sql;
}
set{
sql = value;
}
}
/* 資料庫連結字串 */
public string ConnStr
{
get
{
return connStr;
}
set
{
connStr = value;
}
}
private void connDb()
{
conn = new SqlConnection(connStr);
try
{
conn.Open();
}
catch(SqlException e)
{
for(int i=0;i<e.Errors.Count;i++)
{
errInfo += "錯誤序號:"+i+"\n"+
"出錯資訊:"+e.Errors[i].Message+"\n"+
"出錯來源:"+e.Errors[i].Source+"\n"+
"程式:"+e.Errors[i].Procedure;
}
conn.Close();
}
}
/* 用於表單綁定 */
public void dataView()
{
connDb();
dad = new SqlDataAdapter(sql,conn);
ds = new DataSet();
dad.Fill(ds);
DataView dv = new DataView(ds.Tables[0]);
}
/* 執行SQL語句,返回結果 */
public void readerData()
{
connDb();
comm = new SqlCommand(sql,conn);
dr = comm.ExecuteReader();
}
/* 執行SQL語句,不返回結果 */
public void exeSql()
{
connDb();
comm = new SqlCommand(sql,conn);
comm.ExecuteNonQuery();
}
/* 關閉連結 */
public void clear()
{
conn.Close();
}
}
}