IDatabaseHelper.cs 3.0 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091
  1. using Azylee.Core.AppUtils.AppConfigUtils.AppConfigModels;
  2. using Azylee.Core.DbUtils.DbModels;
  3. using System;
  4. using System.Collections.Generic;
  5. using System.Data;
  6. using System.Linq;
  7. using System.Text;
  8. namespace Azylee.Core.DbUtils.DbInterface
  9. {
  10. /// <summary>
  11. /// 数据库工具类接口定义
  12. /// </summary>
  13. public interface IDatabaseHelper : IDisposable
  14. {
  15. /// <summary>
  16. /// 创建并打开连接
  17. /// 注意:通常在构造函数中直接调用
  18. /// </summary>
  19. /// <returns></returns>
  20. bool OpenConnect();
  21. /// <summary>
  22. /// 测试连接
  23. /// </summary>
  24. /// <returns></returns>
  25. bool TestConnect();
  26. /// <summary>
  27. /// 普通查询
  28. /// </summary>
  29. /// <param name="sql"></param>
  30. /// <returns></returns>
  31. DataTable Select(string sql);
  32. /// <summary>
  33. /// 普通查询(异常时抛出异常,不能内部处理掉)
  34. /// </summary>
  35. /// <param name="sql"></param>
  36. /// <returns></returns>
  37. DataTable SelectWithException(string sql);
  38. /// <summary>
  39. /// 查询所有数据库名称
  40. /// </summary>
  41. /// <returns></returns>
  42. DataTable SchemaList();
  43. /// <summary>
  44. /// 查询表字段信息列表
  45. /// </summary>
  46. /// <returns></returns>
  47. DataTable ColumnList(string database, string schema, string table);
  48. /// <summary>
  49. /// 执行文件
  50. /// </summary>
  51. /// <param name="SqlFile">执行文件路径</param>
  52. /// <param name="runParams">执行文件参数控制</param>
  53. /// <param name="repParams">替换参数</param>
  54. /// <param name="action">执行后动作(执行语句,是否成功,影响行数,异常提示信息)</param>
  55. /// <returns></returns>
  56. Tuple<bool, int, string> ExecuteFile(string SqlFile, Dictionary<string, string> runParams, Dictionary<string, string> repParams, Action<string, bool, int, string> action);
  57. /// <summary>
  58. /// 执行文件SQL(一段SQL脚本)
  59. /// </summary>
  60. /// <param name="sql"></param>
  61. /// <returns></returns>
  62. Tuple<bool, int, string> ExecuteFileSql(string sql);
  63. /// <summary>
  64. /// 执行SQL(返回影响行数)
  65. /// </summary>
  66. /// <param name="sql"></param>
  67. /// <returns></returns>
  68. int ExecuteNonQuery(string sql);
  69. /// <summary>
  70. /// 查询表清单
  71. /// </summary>
  72. /// <param name="key"></param>
  73. /// <returns></returns>
  74. List<DbmTable> QueryTables(string key = "");
  75. /// <summary>
  76. /// 查询表字段列表
  77. /// </summary>
  78. /// <param name="database"></param>
  79. /// <param name="schema"></param>
  80. /// <param name="table"></param>
  81. /// <returns></returns>
  82. List<DbmColumn> QueryColumns(string database, string schema, string table);
  83. }
  84. }