62,267
社区成员
发帖
与我相关
我的任务
分享
// 示例:新增用户
public void add(Entity _users)
{
// 创建数据库操作接口
QuickData.IDataBase _IDB = QuickData.Data.Create("/Config/DataMap.xml");
// 开启数据库
_IDB.OpenConnection();
// 开启事务
_IDB.OpenTranscation();
try{
// 新增用户
_IDB.add<Entity>(_users);
// 新增日志
_IDB.add<LogEntity>(test);
// 其他操作等等
// 提交事务
_IDB.Commit();
}
catch(Exception _ex)
{
// 回滚事务
_IDB.RollBack();
throw new Exception(_ex.Message);
}
finally{
// 关闭数据库
_IDB.CloseConnection();
}
}
/*
* 数据持久层 QuickData
* Create By Tellov 2008-12-19
*/
namespace QuickData
{
/// <summary>
/// 数据库操作接口
/// </summary>
public interface IDATABASE
{
/// <summary>
/// 打开数据库连接
/// </summary>
void OpenConnection();
/// <summary>
/// 关闭数据库连接
/// </summary>
void CloseConnection();
/// <summary>
/// 开启事务
/// </summary>
void OpenTranscation();
/// <summary>
/// 提交事务
/// </summary>
void Commit();
/// <summary>
/// 回滚事务
/// </summary>
void RollBack();
/// <summary>
/// 新增一条记录
/// </summary>
/// <typeparam name="T">实体类型</typeparam>
/// <param name="_obj">数据实体</param>
/// <returns></returns>
int Add<T>(T _obj);
/// <summary>
/// 更新一条记录
/// </summary>
/// <typeparam name="T">实体类型</typeparam>
/// <param name="_obj">数据实体</param>
/// <returns></returns>
int update<T>(T _obj);
/// <summary>
/// 根据条件批量更新记录
/// </summary>
/// <typeparam name="T">实体类型</typeparam>
/// <param name="_setValue">set语句(不包含set前缀)</param>
/// <param name="_queryString">条件语句(不包含where前缀)</param>
/// <returns></returns>
int update<T>(string _setValue, string _queryString);
/// <summary>
/// 根据条件删除记录
/// </summary>
/// <typeparam name="T">实体类型</typeparam>
/// <param name="_querySql">条件语句(不包含where前缀)</param>
/// <returns></returns>
int delete<T>(string _querySql);
/// <summary>
/// 获取统计的行数
/// </summary>
/// <typeparam name="T">实体类型</typeparam>
/// <param name="_querySql">条件语句(不包含where前缀)</param>
/// <returns></returns>
int Count<T>(string _querySql);
/// <summary>
/// 判断指定记录是否存在
/// </summary>
/// <typeparam name="T">实体类型</typeparam>
/// <param name="_querySql">条件语句(不包含where前缀)</param>
/// <returns></returns>
bool Exists<T>(string _querySql);
/// <summary>
/// 获取指定的一条记录
/// </summary>
/// <typeparam name="T">实体类型</typeparam>
/// <param name="_querySql">条件语句(不包含where前缀)</param>
/// <returns></returns>
T GetEntity<T>(string _querySql)
where T : new();
/// <summary>
/// 根据查询条件和指定排序返回数据列表
/// </summary>
/// <typeparam name="T">实体类型</typeparam>
/// <param name="_querySql">条件语句(不包含where前缀)</param>
/// <param name="_orderSql">排序语句(不包含order by前缀)</param>
/// <returns></returns>
List<T> GetList<T>(string _querySql, string _orderSql)
where T : new();
/// <summary>
/// 根据查询条件和指定排序返回指定条数的数据列表
/// </summary>
/// <typeparam name="T">实体类型</typeparam>
/// <param name="_top">返回的条数</param>
/// <param name="_querySql">条件语句(不包含where前缀)</param>
/// <param name="_orderSql">排序语句(不包含order by前缀)</param>
/// <returns></returns>
List<T> GetList<T>(Nullable<int> _top, string _querySql, string _orderSql)
where T : new();
/// <summary>
/// 根据查询条件和指定排序返回指定的分页数据列表
/// </summary>
/// <typeparam name="T">实体类型</typeparam>
/// <param name="_querySql">条件语句(不包含where前缀)</param>
/// <param name="_orderSql">排序语句(不包含order by前缀)</param>
/// <param name="_CurrentPage">第几页</param>
/// <param name="_pageSize">每页记录数</param>
/// <param name="_rowsCount">ref 总记录数</param>
/// <param name="_pageCount">ref 总页数</param>
/// <returns></returns>
List<T> GetList<T>(string _querySql, string _orderSql, int _CurrentPage, int _pageSize, ref int _rowsCount, ref int _pageCount)
where T : new();
/// <summary>
/// 获取格式化后的select语句
/// </summary>
/// <typeparam name="T">实体类型</typeparam>
/// <param name="_top">select 语句中的 top 值</param>
/// <param name="_fieldNames">字段列表</param>
/// <param name="_querySql">查询条件,无需带where</param>
/// <param name="_orderSql">排序条件,无需带order by</param>
/// <returns></returns>
string SelectSql<T>(Nullable<int> _top, string _fieldNames, string _querySql, string _orderSql);
/// <summary>
/// 执行自定义方法
/// </summary>
/// <typeparam name="T">实体类型</typeparam>
/// <param name="functionName">方法名称</param>
/// <param name="_parms">参数</param>
/// <returns></returns>
object CustomMethod<T>(string functionName, params object[] _parms);
}
}