namespace Common.Data
{
///
/// 功能:数据库操作接口
/// 作者:王昊昇
/// 时间:2012.2.8
///
public interface IDataHelper
{
///
/// 打开数据连接
///
/// 连接字符串
///
System.Data.IDbConnection OpenConnection(string connString);
///
/// 打开数据连接
///
/// 连接字符串生成器
///
System.Data.IDbConnection OpenConnection(System.Data.Common.DbConnectionStringBuilder connStrBuilder);
///
/// 关闭数据连接
///
/// 连接对象
void CloseConnection(System.Data.IDbConnection conn);
///
/// 执行查询语句
///
/// 连接对象
/// 查询语句
///
System.Data.IDataReader ExecuteReader(System.Data.IDbConnection conn, string sql);
///
/// 执行查询语句
///
/// 连接对象
/// 查询语句
///
System.Data.IDataReader ExecuteReader(System.Data.IDbConnection conn,
string sql, params System.Data.IDataParameter[] param);
///
/// 执行SQL语句,返回影响的记录数
///
/// 连接对象
/// SQL语句
/// 参数集
/// 影响的记录数
int ExecuteSql(System.Data.IDbConnection conn, string sql, params System.Data.IDataParameter[] param);
///
/// 执行SQL语句,返回影响的记录数
///
/// 连接对象
/// SQL语句
/// 影响的记录数
int ExecuteSql(System.Data.IDbConnection conn, string sql);
///
/// 执行多条SQL语句,实现数据库事务。
///
/// 连接对象
/// 多条SQL语句
void ExecuteSqlTran(System.Data.IDbConnection conn, System.Collections.Generic.List list);
///
/// 执行多条SQL语句,实现数据库事务。
///
/// 连接对象
/// SQL语句的哈希表(key为sql语句,value是该语句的IParameter[])
void ExecuteSqlTran(System.Data.IDbConnection conn, System.Collections.Hashtable table);
///
/// 执行一条计算查询结果语句,返回查询结果
///
/// 连接对象
/// 计算查询结果语句
/// 查询结果
object GetSingle(System.Data.IDbConnection conn, string sql);
///
/// 执行一条计算查询结果语句,返回查询结果
///
/// 连接对象
/// 计算查询结果语句
/// 参数集
/// 查询结果
object GetSingle(System.Data.IDbConnection conn, string sql,
params System.Data.IDataParameter[] param);
///
/// 执行查询语句
///
/// 连接对象
/// 查询语句
/// 参数集
/// DataSet
System.Data.DataSet Query(System.Data.IDbConnection conn, string sql,
params System.Data.IDataParameter[] param);
///
/// 执行查询语句
///
/// 连接对象
/// 查询语句
/// DataSet
System.Data.DataSet Query(System.Data.IDbConnection conn, string sql);
///
/// 执行查询语句
///
/// 连接对象
/// 查询语句
///
System.Data.DataTable QueryReturnDataTable(System.Data.IDbConnection conn, string sql);
///
/// 执行数据查询
///
/// 连接对象
/// 查询语句
/// 参数
/// 数据表
System.Data.DataTable QueryReturnDataTable(System.Data.IDbConnection conn, string sql,
params System.Data.IDataParameter[] param);
///
/// 分页处理,取DataTable
/// 使用PagingQuery分页存储过程
///
/// 连接对象
/// 表名
/// 以哪几列作为排序依据,多列以","分隔
/// 字段列表,取表中的列,以","分隔,取全部数据使用"*"
/// 查询条件
/// 排序方式
/// 每页记录数
/// 指定页索引
/// 返回总页数
/// 返回总记录数
///
System.Data.DataTable PagingQuery(System.Data.IDbConnection conn, string tableName, string keyFieldName, string columnList, string where,
OrderBy orderBy, int rowsAmountPerPage, int pageIndex, out int pageConut, out int rowsAffected);
}
}