简易的数据库包装类DBCtrl, 在开始学习ORM之前先mark一下
/-------------------------结构--------------------------------
/-------------------------baseCtrl
|---------------------sqlCtrl
|---------------------odbcCtrl
|(可扩充,OLEDB等……)
/----------------------------------------------------------------
baseCtrl:
using System;
using System.Data;

namespace DBCtrl

...{

/**//// <summary>
/// base_Ctrl 的摘要说明。
/// </summary>
public class base_Ctrl

...{
public base_Ctrl()

...{
//
// TODO: 在此处添加构造函数逻辑
//
}

public virtual bool ConnectDB()

...{
return false;
}

public virtual string GetError()

...{//返回错误信息
return "";
}

public virtual bool IsHaveRecord(string command)

...{//探测数据库,是否存在指定内容
return false;
}

public virtual bool disConnectDB()

...{//断开数据库
return false;
}

public virtual string GetValue(string command)

...{//取得数据库文本内容
return "";
}

public virtual bool EditRecord(string command,int time_out)

...{//对数据库进行操作
return false;
}

public virtual bool EditRecord(string command)

...{//对数据库进行操作
return false;
}

public virtual DataRow GetRow(string command)

...{//得到数据库中一行
DataRow dr1 = null;
return dr1;
}

public virtual DataTable GetRecord(string command,int time_out)

...{
//得到数据库中一张表
//参数:命令,超时时间
DataTable dt1 = new DataTable();
return dt1;
}

public virtual DataTable GetRecord(string command,string table_Name)

...{
//得到数据库中一张表
//参数:命令,填充的表名
DataTable dt1 = new DataTable();
return dt1;
}

public virtual DataTable GetRecord(string command)

...{
//得到数据库中一张表
DataTable dt1 = new DataTable();
return dt1;
}
public virtual DataSet GetDataSet(string command,string table)

...{
//得到一个数据集
//参数:命令,表名
DataSet ds1 = new DataSet();
return ds1;
}

public virtual DataSet GetDataSet(string command)

...{
//得到一个数据集
DataSet ds1 = new DataSet();
return ds1;
}

public virtual bool GetImage(string command,string imagename,out byte[] imagedata)

...{
//得到图像
imagedata = null;
return false;
}

~base_Ctrl()

...{
try

...{
disConnectDB();
}
catch

...{}
}

}
}

sqlCtrl
using System;
using System.Data;
using System.Data.SqlClient;

namespace DBCtrl

...{

/**//// <summary>
/// sqlCtrl 的摘要说明。
/// </summary>
public class sqlCtrl:base_Ctrl

...{
private string connString;
private string errorMessage;
private SqlConnection sqlConn;

public sqlCtrl(string connStr)

...{//构造函数
connString=connStr;
errorMessage="";
}

public override bool ConnectDB()

...{
//连接数据库
sqlConn=new SqlConnection(connString);
try

...{
sqlConn.Open();
}
catch(SqlException ee)

...{
errorMessage=ee.ToString();
return false;
}
return true;
}

public override string GetError()

...{//返回错误信息
return errorMessage;
}

public override bool IsHaveRecord(string command)

...{//探测数据库,是否存在指定内容
bool bl;
bl=ConnectDB();
if(!bl)

...{
return false;
}
SqlCommand cmd=new SqlCommand(command,sqlConn);
SqlDataReader reader;
try

...{
reader=cmd.ExecuteReader();
if(reader.Read())

...{
reader.Close();
SqlDataAdapter da=new SqlDataAdapter(cmd);
DataSet ds=new DataSet();
da.Fill(ds);
if(ds.Tables[0].Rows.Count<1)

...{
disConnectDB();
return false;
}
bl=disConnectDB();
if(!bl)

...{
return false;
}
return true;
}
else

...{
reader.Close();
disConnectDB();
errorMessage="No Record in Database!";
return false;
}
}
catch(SqlException ee)

...{
errorMessage=ee.ToString();
disConnectDB();
return false;
}
}

public override bool disConnectDB()

...{//断开数据库
try

...{
sqlConn.Close();
}
catch(SqlException ee)

...{
errorMessage=ee.ToString();
return false;
}
return true;
}

public override string GetValue(string command)

...{//取得数据库文本内容
string str="error";

bool bl;
bl=ConnectDB();
if(!bl)

...{
return "error";
}
SqlCommand cmd=new SqlCommand(command,sqlConn);
SqlDataReader reader;
try

...{
reader=cmd.ExecuteReader();
if(reader.Read())

...{
reader.Close();

SqlDataAdapter Adapter=new SqlDataAdapter(cmd);
DataSet ds= new DataSet();
Adapter.Fill(ds);
str=ds.Tables[0].Rows[0].ItemArray[0].ToString().Trim();

bl=disConnectDB();
if(!bl)

...{
return "error";
}

return str.Trim();
}
else

...{
disConnectDB();
reader.Close();
errorMessage="No Record in Database!";
return "error";
}
}
catch(SqlException ee)

...{
errorMessage=ee.ToString();
disConnectDB();
return "error";
}
}

public override bool EditRecord(string command,int time_out)

...{//对数据库进行操作
bool bl;
bl=ConnectDB();
if(!bl)

...{
return false;
}
SqlCommand cmd=new SqlCommand(command,sqlConn);
cmd.CommandTimeout = time_out;
SqlDataReader reader;
try

...{
reader=cmd.ExecuteReader();
reader.Close();
}
catch(SqlException ee)

...{
disConnectDB();
errorMessage=ee.ToString();
return false;
}
bl=disConnectDB();
if(!bl)

...{
return false;
}
return true;
}

public override bool EditRecord(string command)

...{//对数据库进行操作
bool bl;
bl=ConnectDB();
if(!bl)

...{
return false;
}
SqlCommand cmd=new SqlCommand(command,sqlConn);
SqlDataReader reader;
try

...{
reader=cmd.ExecuteReader();
reader.Close();
}
catch(SqlException ee)

...{
disConnectDB();
errorMessage=ee.ToString();
return false;
}
bl=disConnectDB();
if(!bl)

...{
return false;
}
return true;
}

public override DataRow GetRow(string command)

...{//得到数据库中一行
bool bl;
bl=ConnectDB();
if(!bl)

...{
return null;
}
SqlCommand cmd=new SqlCommand(command,sqlConn);
SqlDataReader reader;
DataSet ds=new DataSet();
try

...{
reader=cmd.ExecuteReader();
if(reader.Read())

...{
reader.Close();
SqlDataAdapter da=new SqlDataAdapter(cmd);
da.Fill(ds);
if(ds==null)

...{
disConnectDB();
return null;
}
if(ds.Tables[0].Rows.Count<1)

...{
disConnectDB();
return null;
}
bl=disConnectDB();
if(!bl)

...{
return null;
}

return ds.Tables[0].Rows[0];
}
else

...{
reader.Close();
errorMessage="No Record in Database!";
disConnectDB();
return null;
}
}
catch(SqlException ee)

...{
disConnectDB();
errorMessage=ee.ToString();
return null;
}
}

public override DataTable GetRecord(string command,int time_out)

...{//得到数据库中一张表
bool bl;
bl=ConnectDB();
if(!bl)

...{
return null;
}
SqlCommand cmd=new SqlCommand(command,sqlConn);
cmd.CommandTimeout = time_out;
SqlDataReader reader;
try

...{
reader=cmd.ExecuteReader();
if(reader.Read())

...{
reader.Close();
SqlDataAdapter da=new SqlDataAdapter(cmd);
DataSet ds=new DataSet();
da.Fill(ds);
bl=disConnectDB();
if(!bl)

...{
return null;
}
return ds.Tables[0];
}
else

...{
reader.Close();
disConnectDB();
errorMessage="No Record in Database!";
return null;
}
}
catch(SqlException ee)

...{
disConnectDB();
errorMessage=ee.ToString();
return null;
}
}

public override DataTable GetRecord(string command,string table_Name)

...{//得到数据库中一张表
bool bl;
bl=ConnectDB();
if(!bl)

...{
return null;
}
SqlCommand cmd=new SqlCommand(command,sqlConn);
SqlDataReader reader;
try

...{
reader=cmd.ExecuteReader();
if(reader.Read())

...{
reader.Close();
SqlDataAdapter da=new SqlDataAdapter(cmd);
DataSet ds=new DataSet();
da.Fill(ds,table_Name);
bl=disConnectDB();
if(!bl)

...{
return null;
}
return ds.Tables[table_Name];
}
else

...{
reader.Close();
disConnectDB();
errorMessage="No Record in Database!";
return null;
}
}
catch(SqlException ee)

...{
disConnectDB();
errorMessage=ee.ToString();
return null;
}
}

public override DataTable GetRecord(string command)

...{//得到数据库中一张表
bool bl;
bl=ConnectDB();
if(!bl)

...{
return null;
}
SqlCommand cmd=new SqlCommand(command,sqlConn);
SqlDataReader reader;
try

...{
reader=cmd.ExecuteReader();
if(reader.Read())

...{
reader.Close();
SqlDataAdapter da=new SqlDataAdapter(cmd);
DataSet ds=new DataSet();
da.Fill(ds);
bl=disConnectDB();
if(!bl)

...{
return null;
}
return ds.Tables[0];
}
else

...{
reader.Close();
disConnectDB();
errorMessage="No Record in Database!";
return null;
}
}
catch(SqlException ee)

...{
disConnectDB();
errorMessage=ee.ToString();
return null;
}
}

public override DataSet GetDataSet(string command,string table)

...{//得到一个数据集
bool bl;
bl=ConnectDB();
if(!bl)

...{
return null;
}
SqlCommand cmd=new SqlCommand(command,sqlConn);
SqlDataReader reader;
try

...{
reader=cmd.ExecuteReader();
if(reader.Read())

...{
reader.Close();
SqlDataAdapter da=new SqlDataAdapter(cmd);
DataSet ds=new DataSet();
da.Fill(ds,table);
bl=disConnectDB();
if(!bl)

...{
return null;
}
return ds;
}
else

...{
reader.Close();
disConnectDB();
errorMessage="No Record in Database!";
return null;
}
}
catch(SqlException ee)

...{
disConnectDB();
errorMessage=ee.ToString();
return null;
}
}

public override DataSet GetDataSet(string command)

...{//得到一个数据集
bool bl;
bl=ConnectDB();
if(!bl)

...{
return null;
}
SqlCommand cmd=new SqlCommand(command,sqlConn);
SqlDataReader reader;
try

...{
reader=cmd.ExecuteReader();
if(reader.Read())

...{
reader.Close();
SqlDataAdapter da=new SqlDataAdapter(cmd);
DataSet ds=new DataSet();
da.Fill(ds);
bl=disConnectDB();
if(!bl)

...{
return null;
}
return ds;
}
else

...{
reader.Close();
disConnectDB();
errorMessage="No Record in Database!";
return null;
}
}
catch(SqlException ee)

...{
disConnectDB();
errorMessage=ee.ToString();
return null;
}
}

public override bool GetImage(string command,string imagename,out byte[] imagedata)

...{//得到图像
bool bl;
bl=ConnectDB();
if(!bl)

...{
imagedata = new byte[1];
imagedata[0] = (byte)2;
return false;
}
SqlCommand cmd=new SqlCommand(command,sqlConn);
SqlDataReader reader;
try

...{
reader=cmd.ExecuteReader();
if(reader.Read())

...{
imagedata = (byte[])reader[imagename];
reader.Close();

bl=disConnectDB();
if(!bl)

...{
imagedata = new byte[1];
imagedata[0] = (byte)2;
return false;
}
return true;
}
else

...{
imagedata = new byte[1];
imagedata[0] = (byte)2;
reader.Close();
disConnectDB();
errorMessage="No Record in Database!";
return false;
}
}
catch(SqlException ee)

...{
imagedata = new byte[1];
imagedata[0] = (byte)2;
errorMessage=ee.ToString();
disConnectDB();
return false;
}
}

~sqlCtrl()

...{
try

...{
disConnectDB();
}
catch

...{}
}
}
}

odbcCtrl:
using System;
using System.Data;
using System.Data.Odbc;

namespace DBCtrl

...{

/**//// <summary>
/// odbcCtrl 的摘要说明。
/// </summary>
public class odbcCtrl:base_Ctrl

...{
private string connString;
private string errorMessage;
private OdbcConnection OdbcConn;

public odbcCtrl(string connStr)

...{//构造函数
connString=connStr;
errorMessage="";
}

public override bool ConnectDB()

...{//连接数据库
OdbcConn=new OdbcConnection(connString);
try

...{
OdbcConn.Open();
}
catch(OdbcException ee)

...{
errorMessage=ee.ToString();
return false;
}
return true;
}

public override string GetError()

...{//返回错误信息
return errorMessage;
}

public override bool IsHaveRecord(string command)

...{//探测数据库中是否存在指定内容
bool bl;
bl=ConnectDB();
if(!bl)

...{
return false;
}
OdbcCommand cmd=new OdbcCommand(command,OdbcConn);
OdbcDataReader reader;
try

...{
reader=cmd.ExecuteReader();
if(reader.Read())

...{
reader.Close();
OdbcDataAdapter da=new OdbcDataAdapter(cmd);
DataSet ds=new DataSet();
da.Fill(ds);
if(ds.Tables[0].Rows.Count<1)

...{
disConnectDB();
return false;
}
bl=disConnectDB();
if(!bl)

...{
return false;
}
return true;
}
else

...{
reader.Close();
disConnectDB();
errorMessage="No Record in Database!";
return false;
}
}
catch(OdbcException ee)

...{
disConnectDB();
errorMessage=ee.ToString();
return false;
}
}

public override bool disConnectDB()

...{//断开数据库
try

...{
OdbcConn.Close();
}
catch(OdbcException ee)

...{
errorMessage=ee.ToString();
return false;
}
return true;
}

public override string GetValue(string command)

...{//返回文本内容
string str="error";

bool bl;
bl=ConnectDB();
if(!bl)

...{
return "error";
}
OdbcCommand cmd=new OdbcCommand(command,OdbcConn);
OdbcDataReader reader;
try

...{
reader=cmd.ExecuteReader();
if(reader.Read())

...{
reader.Close();

OdbcDataAdapter Adapter=new OdbcDataAdapter(cmd);
DataSet ds= new DataSet();
Adapter.Fill(ds);
str=ds.Tables[0].Rows[0].ItemArray[0].ToString().Trim();

bl=disConnectDB();
if(!bl)

...{
return "error";
}

return str.Trim();
}
else

...{
reader.Close();
disConnectDB();
errorMessage="No Record in Database!";
return "error";
}
}
catch(OdbcException ee)

...{
disConnectDB();
errorMessage=ee.ToString();
return "error";
}
}

public override bool EditRecord(string command)

...{//操作数据库
bool bl;
bl=ConnectDB();
if(!bl)

...{
return false;
}
OdbcCommand cmd=new OdbcCommand(command,OdbcConn);
OdbcDataReader reader;
try

...{
reader=cmd.ExecuteReader();
reader.Close();
}
catch(OdbcException ee)

...{
errorMessage=ee.ToString();
disConnectDB();
return false;
}
bl=disConnectDB();
if(!bl)

...{
return false;
}
return true;
}

public override DataRow GetRow(string command)

...{//得到数据库中一行
bool bl;
bl=ConnectDB();
if(!bl)

...{
return null;
}
OdbcCommand cmd=new OdbcCommand(command,OdbcConn);
OdbcDataReader reader;
DataSet ds=new DataSet();
try

...{
reader=cmd.ExecuteReader();
if(reader.Read())

...{
reader.Close();
OdbcDataAdapter da=new OdbcDataAdapter(cmd);
da.Fill(ds);
if(ds==null)

...{
disConnectDB();
return null;
}
if(ds.Tables[0].Rows.Count<1)

...{
disConnectDB();
return null;
}
bl=disConnectDB();
if(!bl)

...{
return null;
}
return ds.Tables[0].Rows[0];
}
else

...{
reader.Close();
errorMessage="No Record in Database!";
disConnectDB();
return null;
}
}
catch(OdbcException ee)

...{
errorMessage=ee.ToString();
disConnectDB();
return null;
}
}

public override DataTable GetRecord(string command,int time_out)

...{//得到一张表
bool bl;
bl=ConnectDB();
if(!bl)

...{
return null;
}
OdbcCommand cmd=new OdbcCommand(command,OdbcConn);
cmd.CommandTimeout = time_out;
OdbcDataReader reader;
try

...{
reader=cmd.ExecuteReader();
if(reader.Read())

...{
reader.Close();
OdbcDataAdapter da=new OdbcDataAdapter(cmd);
DataSet ds=new DataSet();
da.Fill(ds);
bl=disConnectDB();
if(!bl)

...{
return null;
}
return ds.Tables[0];
}
else

...{
reader.Close();
errorMessage="No Record in Database!";
disConnectDB();
return null;
}
}
catch(OdbcException ee)

...{
errorMessage=ee.ToString();
disConnectDB();
return null;
}
}

public override DataTable GetRecord(string command,string table_Name)

...{//得到指定表名的表
bool bl;
bl=ConnectDB();
if(!bl)

...{
return null;
}
OdbcCommand cmd=new OdbcCommand(command,OdbcConn);
OdbcDataReader reader;
try

...{
reader=cmd.ExecuteReader();
if(reader.Read())

...{
reader.Close();
OdbcDataAdapter da=new OdbcDataAdapter(cmd);
DataSet ds=new DataSet();
da.Fill(ds,table_Name);
bl=disConnectDB();
if(!bl)

...{
return null;
}
return ds.Tables[table_Name];
}
else

...{
reader.Close();
errorMessage="No Record in Database!";
disConnectDB();
return null;
}
}
catch(OdbcException ee)

...{
errorMessage=ee.ToString();
disConnectDB();
return null;
}
}

public override DataTable GetRecord(string command)

...{//得到一张表
bool bl;
bl=ConnectDB();
if(!bl)

...{
return null;
}
OdbcCommand cmd=new OdbcCommand(command,OdbcConn);
OdbcDataReader reader;
try

...{
reader=cmd.ExecuteReader();
if(reader.Read())

...{
reader.Close();
OdbcDataAdapter da=new OdbcDataAdapter(cmd);
DataSet ds=new DataSet();
da.Fill(ds);
bl=disConnectDB();
if(!bl)

...{
return null;
}
return ds.Tables[0];
}
else

...{
reader.Close();
errorMessage="No Record in Database!";
disConnectDB();
return null;
}
}
catch(OdbcException ee)

...{
errorMessage=ee.ToString();
disConnectDB();
return null;
}
}

public override DataSet GetDataSet(string command,string table)

...{//得到一个数据集
bool bl;
bl=ConnectDB();
if(!bl)

...{
return null;
}
OdbcCommand cmd=new OdbcCommand(command,OdbcConn);
OdbcDataReader reader;
try

...{
reader=cmd.ExecuteReader();
if(reader.Read())

...{
reader.Close();
OdbcDataAdapter da=new OdbcDataAdapter(cmd);
DataSet ds=new DataSet();
da.Fill(ds,table);
bl=disConnectDB();
if(!bl)

...{
return null;
}
return ds;
}
else

...{
reader.Close();
errorMessage="No Record in Database!";
disConnectDB();
return null;
}
}
catch(OdbcException ee)

...{
errorMessage=ee.ToString();
disConnectDB();
return null;
}
}

public override DataSet GetDataSet(string command)

...{//得到一个数据集
bool bl;
bl=ConnectDB();
if(!bl)

...{
return null;
}
OdbcCommand cmd=new OdbcCommand(command,OdbcConn);
OdbcDataReader reader;
try

...{
reader=cmd.ExecuteReader();
if(reader.Read())

...{
reader.Close();
OdbcDataAdapter da=new OdbcDataAdapter(cmd);
DataSet ds=new DataSet();
da.Fill(ds);
bl=disConnectDB();
if(!bl)

...{
return null;
}
return ds;
}
else

...{
reader.Close();
errorMessage="No Record in Database!";
disConnectDB();
return null;
}
}
catch(OdbcException ee)

...{
errorMessage=ee.ToString();
disConnectDB();
return null;
}
}

public override bool GetImage(string command,string imagename,out byte[] imagedata)

...{//得到图像
bool bl;
bl=ConnectDB();
if(!bl)

...{
imagedata = new byte[1];
imagedata[0] = (byte)2;
return false;
}
OdbcCommand cmd=new OdbcCommand(command,OdbcConn);
OdbcDataReader reader;
try

...{
reader=cmd.ExecuteReader();
if(reader.Read())

...{

imagedata = (byte[])reader[imagename];
reader.Close();

bl=disConnectDB();
if(!bl)

...{
imagedata = new byte[1];
imagedata[0] = (byte)2;
return false;
}
return true;
}
else

...{
imagedata = new byte[1];
imagedata[0] = (byte)2;
reader.Close();
errorMessage="No Record in Database!";
disConnectDB();
return false;
}
}
catch(OdbcException ee)

...{
imagedata = new byte[1];
imagedata[0] = (byte)2;
errorMessage=ee.ToString();
disConnectDB();
return false;
}
}

~odbcCtrl()

...{
try

...{
disConnectDB();
}
catch

...{}
}

}
}