using System;
using System.Data;
using System.Data.SqlClient;
namespace news.common
{
/**
* -----------------
* 數據庫聯接 / 操作類
* 2005-03-18 創建
* [email protected]
* ----------------
*/
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();
}
}
}