由于某些原因,軟件依賴的數據庫軟件會出現更換!如果數據庫的打開和操作代碼都出現在每個頁里,那么更換數據庫軟件后帶來的代碼修改將相當麻煩。所以把數據庫操作代碼寫成一個類,將不會出現上述情況并可以減少代碼量。以下是源碼 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(); } } }
|