You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

72 lines
2.5 KiB

4 years ago
4 years ago
4 years ago
  1. using System;
  2. using System.Collections.Generic;
  3. using System.Data;
  4. using System.Text;
  5. namespace Apewer.Source
  6. {
  7. /// <summary>数据库访问接口。</summary>
  8. public interface IDbClientAdo : IDisposable
  9. {
  10. #region Connection
  11. /// <summary>获取连接。</summary>
  12. IDbConnection Connection { get; }
  13. /// <summary>数据库当前在线,表示连接可用。</summary>
  14. bool Online { get; }
  15. /// <summary>连接数据库,若未连接则尝试连接,返回错误信息。</summary>
  16. string Connect();
  17. #endregion
  18. #region SQL
  19. /// <summary>查询。</summary>
  20. IQuery Query(string statement);
  21. /// <summary>查询。</summary>
  22. IQuery Query(string statement, IEnumerable<IDataParameter> parameters);
  23. /// <summary>执行。</summary>
  24. IExecute Execute(string statement);
  25. /// <summary>执行。</summary>
  26. IExecute Execute(string statement, IEnumerable<IDataParameter> parameters);
  27. // /// <summary>获取当前的事务对象。</summary>
  28. // IDbTransaction Transaction { get; }
  29. #endregion
  30. #region Transaction
  31. // /// <summary>启动事务。</summary>
  32. // /// <param name="isolation">事务锁定:默认为快照方式,在完成提交前,其它连接无法获取当前事务挂起的更改。</param>
  33. // /// <param name="commit">当关闭连接时,提交或回滚未处理的事务。</param>
  34. // /// <remarks>当存在已经启动的事务时,无法再次启动(返回 NULL 值)。</remarks>
  35. // string Begin(IsolationLevel isolation = IsolationLevel.Snapshot, bool commit = true);
  36. /// <summary>启动事务。</summary>
  37. /// <param name="commit">当关闭连接时,提交或回滚未处理的事务。</param>
  38. /// <remarks>当存在已经启动的事务时,无法再次启动(返回 NULL 值)。</remarks>
  39. string Begin(bool commit = true);
  40. /// <summary>提交事务。</summary>
  41. /// <remarks>异常常见于事务已经提交或连接已断开。</remarks>
  42. /// <returns>提交失败时返回错误信息,成功时返回 NULL 值。</returns>
  43. string Commit();
  44. /// <summary>从挂起状态回滚事务。</summary>
  45. /// <remarks>异常常见于事务已经提交、已回滚或连接已断开。</remarks>
  46. /// <returns>提交失败时返回错误信息,成功时返回 NULL 值。</returns>
  47. string Rollback();
  48. #endregion
  49. }
  50. }