您的位置:首页 > 数据库

SQL数据库抽像工厂类

2013-03-22 22:37 127 查看
public abstract class IData
{
/// <summary>
/// 数据库连接字符
/// </summary>
public abstract string Connstring { get; set; }
/// <summary>
/// 根据实体类添加数据
/// </summary>
/// <typeparam name="T">实体类Model,类名为表名</typeparam>
/// <param name="t">实体类Model实例</param>
/// <returns></returns>
public abstract int Insert<T>(T t) where T : class;
/// <summary>
/// 返回根据Insert SQL语句
/// </summary>
/// <typeparam name="T">实体类Model,类名为表名</typeparam>
/// <param name="t">实体类Model实例</param>
/// <returns></returns>
public abstract string InsertSql<T>(T t) where T : class;
/// <summary>
/// 根据实体类添加数据
/// </summary>
/// <param name="Data">数据实体类</param>
/// <returns></returns>
public abstract int Insert(TableModel Data);
/// <summary>
/// 执行存过程添加数据库
/// </summary>
/// <param name="Data">数据实体类</param>
/// <returns></returns>
public abstract int SproCmd(SqlProModel Data);
/// <summary>
/// 执行存过程添加数据库
/// </summary>
/// <param name="Data">数据实体类</param>
/// <param name="OutPut">输出</param>
/// <returns></returns>
public abstract int SproCmd(SqlProModel Data, ref Hashtable OutPut);
/// <summary>
/// 根据实体类主键更新数据
/// </summary>
/// <typeparam name="T">实体类Model,类名为表名</typeparam>
/// <param name="t">实体类Model</param>
/// <returns></returns>
public abstract int UpDate<T>(T t) where T : class;
/// <summary>
/// 根据实体类更新数据
/// </summary>
/// <typeparam name="T">实体类Model,类名为表名</typeparam>
/// <param name="t">实体类Model</param>
/// <param name="Dm">条件类Model</param>
/// <returns></returns>
public abstract int UpDate<T>(T t, WhereColModel[] Dm) where T : class;
/// <summary>
/// 返回根据实体类 UPDATE SQL
/// </summary>
/// <typeparam name="T">实体类Model,类名为表名</typeparam>
/// <param name="t">实体类Model</param>
/// <param name="Dm">条件类Model</param>
/// <returns></returns>
public abstract string UpDateSql<T>(T t, WhereColModel[] Dm) where T : class;
/// <summary>
/// 根据实体类更新数据
/// </summary>
/// <param name="Data">数据实体类</param>
/// <returns></returns>
public abstract int UpDate(TableModel Data);

/// <summary>
/// 删除
/// </summary>
/// <param name="Data"></param>
/// <returns></returns>
public abstract int Delete(TableModel Data);

/// <summary>
/// 返回Delete Sql
/// </summary>
/// <param name="Data"></param>
/// <returns></returns>
public abstract string DeleteSql(TableModel Data);
/// <summary>
/// 执行增删改任意SQL
/// </summary>
/// <param name="Data"></param>
/// <returns></returns>
public abstract int RunSqlCmd(TableModel Data);
/// <summary>
/// 执行任意增删改SQL
/// </summary>
/// <param name="SqlStr"></param>
/// <returns></returns>
public abstract int RunAnySql(string SqlStr);
/// <summary>
/// 返回一行数据
/// </summary>
/// <typeparam name="T">返回的对象</typeparam>
/// <param name="Data">条件类</param>
/// <returns></returns>
public abstract T Row<T>(SelectModel Data);
/// <summary>
/// 返回单条数据
/// </summary>
/// <param name="Data">条件类</param>
/// <returns></returns>
public abstract Object Scalar(SelectModel Data);
/// <summary>
/// 返回DataTable
/// </summary>
/// <param name="Data">条件类</param>
/// <returns></returns>
public abstract List<T> GetTable<T>(SelectModel Data);

/// <summary>
/// 返回一行数据
/// </summary>
/// <typeparam name="T">反回的对象</typeparam>
/// <param name="Data">条件类</param>
/// <returns></returns>
public abstract T Row<T>(SqlProModel Data);
/// <summary>
/// 返回单条数据
/// </summary>
/// <param name="Data">条件类</param>
/// <returns></returns>
public abstract Object Scalar(SqlProModel Data);
/// <summary>
/// 返回List
/// </summary>
/// <typeparam name="T">对象</typeparam>
/// <param name="Data">条件类</param>
/// <returns></returns>
public abstract List<T> GetTable<T>(SqlProModel Data);
/// <summary>
/// 返回DATASET对象
/// </summary>
/// <param name="Data">条件类</param>
/// <returns></returns>
public abstract DataSet GetTable(SqlProModel Data);
/// <summary>
/// 返回DATASET对象
/// </summary>
/// <param name="Data">条件类</param>
/// <returns></returns>
public abstract DataSet GetTable(SqlProModel Data, ref Hashtable OutPut);
/// <summary>
/// 返回有输出参数的List
/// </summary>
/// <typeparam name="T">对象</typeparam>
/// <param name="Data">条件</param>
/// <param name="OutPut">输出内容</param>
/// <returns></returns>
public abstract List<T> GetTable<T>(SqlProModel Data, ref Hashtable OutPut);
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: