1设计接口
1)IDAOBuilder数据访问对象创建接口
using System;using System.Data;using HKH.DataBase.Type;
namespace HKH.DataBase.Interface{ /// <summary> /// DataAccessObjectBuilder 创建者接口 /// </summary> /// <remarks> /// Create By Liwt on 2006 - 06 - 16 /// </remarks> public interface IDAOBuilder { #region 方法
/// <summary> /// 返回一个IDbConnection对象,在DF层启用连接和事务使用 /// </summary> /// <returns>IDbConnection对象</returns> IDbConnection GetConnection ( ); /// <summary> /// 返回一个IDbCommand对象 /// </summary> /// <param name="strSql">查询语句,该值为空时,根据ds构造标准Command</param> /// <returns>IDbCommand对象</returns> IDbCommand GetCommand ( string strSql ) ;
/// <summary> /// 返回一个IDbCommand对象,执行存储过程使用 /// </summary> /// <param name="sprocName">存储过程名称</param> /// <param name="parameters">存储过程参数</param> /// <returns>IDbCommand对象</returns> IDbCommand GetSprocCommand ( string sprocName,ProcParameter[] parameters ) ;
/// <summary> /// 返回一个完整的IDbDataAdapter对象,和数据库发生插入、删除、更新时使用 /// </summary> /// <returns>IDbDataAdapter对象</returns> IDbDataAdapter GetDataAdapter ( ) ;
/// <summary> /// 返回一个IDbDataAdapter对象,查询时使用,只含有一个SelectCommand对象 /// </summary> /// <returns>IDbDataAdapter对象</returns> IDbDataAdapter GetQueryDataAdapter ( ) ;
#endregion }}
2)IDBAccess 数据访问数据库操作接口
using System;using System.Collections;using System.Data;using HKH.DataBase.Type;
namespace HKH.DataBase.Interface{ /// <summary> /// 数据访问接口 /// </summary> /// <remarks> /// Create By Liwt on 2006 - 06 - 16 /// </remarks> public interface IDBAccess { #region 方法
/// <summary> /// 对通用的一个DataSet执行Insert的操作 /// </summary> /// <param name="dsInsert">进行操作的DataSet</param> /// <param name="strTableName">TableName</param> /// <param name="iReturnKeyID">返回的增长主键</param> /// <returns>返回0表示成功,返回-1表示失败</returns> int Insert ( DataSet dsInsert,string strTableName,out int iReturnKeyID ) ;
/// <summary> /// 对通用的一个DataSet执行物理删除的操作。 /// </summary> /// <param name="dsDelete">将要操作的DataSet</param> /// <param name="strTableName">Table名称</param> /// <returns>返回0表示成功,返回-1表示失败</returns> int Delete ( DataSet dsDelete,string strTableName ) ;
/// <summary> /// 设置删除记录的标志 /// </summary> /// <param name="dsDelete">进行操作的DataSet</param> /// <param name="strTableName">Table名称</param> /// <returns>返回0表示成功,返回-1表示失败</returns> int DeleteFlag ( DataSet dsDelete,string strTableName ) ;
/// <summary> /// 更新DataSet对应的数据。 /// </summary> /// <param name="dsUpdate">进行操作的DataSet</param> /// <param name="strTableName">Table名称</param> /// <returns>返回0表示成功,返回-1表示失败</returns> int Update ( DataSet dsUpdate,string strTableName ) ;
/// <summary> /// 执行存储过程 /// </summary> /// <param name="sprocName">存储过程名称</param> /// <param name="parameters">存储过程参数</param> /// <returns>返回0表示成功,返回-1表示失败</returns> int ExecuteProcedure ( string sprocName, ProcParameter[] parameters );
/// <summary> /// 执行存储过程 /// </summary> /// <param name="sprocName">存储过程名称</param> /// <param name="parameters">存储过程参数</param> /// <param name="dataset">执行的DataSet</param> /// <param name="strTableName">数据表名称</param> /// <returns>返回0表示成功,返回-1表示失败</returns> int ExecuteProcedure ( string sprocName,ProcParameter[] parameters,DataSet dataset,string strTableName );
/// <summary> /// 执行存储过程 /// </summary> /// <param name="sprocName">存储过程名称</param> /// <param name="parameters">存储过程参数</param> /// <param name="dr">执行的SqlDataReader</param> /// <param name="TableName">数据表名称</param> /// <returns>0:成功</returns> /// <returns>!0:失败</returns> int ExecuteProcedure(string sprocName,ProcParameter[] parameters, IDataReader dr);
/// <summary> /// 执行查询语句 /// </summary> /// <param name="strSql">要执行的SQL语句</param> /// <param name="dsSelect">要填充的DataSet,以引用方式传入</param> /// <param name="strTableName">要填充的表名</param> /// <returns></returns> bool Fill(string strSql,DataSet dsSelect,string strTableName);
/// <summary> /// 执行单值查询 /// </summary> /// <param name="strSql">要执行的Sql语句</param> /// <returns>失败返回null</returns> object ExecuteScalar(string strSql);
/// <summary> /// 执行DataReader /// </summary> /// <param name="strSql">要执行的Sql语句</param> /// <returns>失败返回null</returns> IDataReader ExecuteReader(string strSql);
/// <summary> /// 执行SQL语句 /// </summary> /// <param name="strSql">要执行的Sql语句</param> /// <returns>失败返回-1</returns> int ExecuteNonQuery(string strSql);
#endregion }}