📄 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 + -