?? dataaccessobject.cs
字號:
using System;
using System.Data;
namespace EntityMapping
{
/// <summary>
/// DataAccessObject 的摘要說明。
/// </summary>
public class DataAccessObject
{
private EntityMapping.DataType m_dbType;
private System.Data.IDbDataAdapter m_DataAp;
private System.Data.IDbConnection m_DBCon;
private System.Data.IDbCommand m_DBCom;
private System.Data.DataSet m_Ds = new DataSet();
private string m_str_Con ;
public EntityMapping.DataType DBType
{
get
{
return this.m_dbType;
}
}
/// <summary>
/// 設置數據類別
/// </summary>
/// <param name="dbType">數據庫的類別</param>
public DataAccessObject(DataType dbType)
{
this.m_dbType = dbType;
if(this.m_dbType == DataType.Oracle)
{
}
//if(this.m_dbType = )
//
// TODO: 在此處添加構造函數邏輯
//
}
/// <summary>
/// 設置數據訪問對象的數據庫類別以及鏈接字符串
/// </summary>
/// <param name="dbType"></param>
/// <param name="str_Con"></param>
public DataAccessObject(DataType dbType,string str_Con)
{
this.m_str_Con = str_Con;
this.m_dbType = dbType;
EntityMapping.IDataAccess dataAccess = new OracleFactory();
if(this.m_dbType == DataType.Oracle)
{
dataAccess = new OracleFactory();
}
this.m_DBCon = dataAccess.GetConnection();
this.m_DBCon.ConnectionString = str_Con;
this.m_DBCom = dataAccess.GetCommand();
this.m_DataAp = dataAccess.GetDataAdapter();
}
/// <summary>
/// 執行SQL語句
/// </summary>
/// <param name="Sql">要執行的SQL語句</param>
/// <returns>返回受影響記錄的條數</returns>
public int ExcuteBySql(string Sql)
{
try
{
if(this.m_DBCon.State == System.Data.ConnectionState.Closed)
{
this.m_DBCon.Open();
}
this.m_DBCom.Connection = this.m_DBCon;
this.m_DBCom.CommandText = Sql;
int i = this.m_DBCom.ExecuteNonQuery();
if(this.m_DBCon.State == System.Data.ConnectionState.Open)
{
this.m_DBCon.Close();
}
return i;
}
catch(Exception exp)
{
throw new Exception(exp.ToString());
this.m_DBCon.Close();
}
}
/// <summary>
/// 打開一個鏈接對象
/// </summary>
/// <returns>返回鏈接對象的當前狀態</returns>
public string Open()
{
try
{
this.m_DBCon.ConnectionString = this.m_str_Con;
this.m_DBCon.Open();
return this.m_DBCon.State.ToString();
}
catch
{
return this.m_DBCon.State.ToString();
}
}
/// <summary>
/// 關閉鏈接對象
/// </summary>
/// <returns>返回鏈接對象的當前狀態</returns>
public string Close()
{
try
{
this.m_DBCon.Close();
return this.m_DBCon.State.ToString();
}
catch
{
return this.m_DBCon.State.ToString();
}
}
/// <summary>
/// 根據SQL語句查詢數據
/// </summary>
/// <param name="Sql">SQL查詢語句</param>
/// <returns>返回包含查詢結果的數據集對象</returns>
public DataSet QueryBySql(string Sql)
{
if(this.m_DBCon.State == System.Data.ConnectionState.Closed)
{
this.m_DBCon.Open();
}
this.m_DBCom.Connection = this.m_DBCon;
this.m_DBCom.CommandText = Sql;
//System.Data.SqlClient.SqlDataAdapter s = new System.Data.SqlClient.SqlDataAdapter();
this.m_DataAp.SelectCommand = this.m_DBCom;
this.m_DataAp.Fill(this.m_Ds);
this.m_DBCon.Close();
return this.m_Ds;
}
~DataAccessObject()
{
if(this.m_DBCon.State == System.Data.ConnectionState.Open)
{
this.m_DBCon.Close();
}
}
}
}
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -