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.

1006 lines
38 KiB

3 days ago
  1. using NFine.Code;
  2. using System;
  3. using System.Collections;
  4. using System.Collections.Generic;
  5. using System.Data;
  6. using System.Data.Common;
  7. using System.Data.SqlClient;
  8. using System.Linq;
  9. using System.Text;
  10. using System.Threading.Tasks;
  11. namespace NFine.Repository
  12. {
  13. public class Repository<T> : IRepository<T> where T : new()
  14. {
  15. #region 事务
  16. /// <summary>
  17. /// 事务开始
  18. /// </summary>
  19. /// <returns></returns>
  20. public DbTransaction BeginTrans()
  21. {
  22. return DataFactory.Database().BeginTrans();
  23. }
  24. /// <summary>
  25. /// 提交事务
  26. /// </summary>
  27. public void Commit()
  28. {
  29. DataFactory.Database().Commit();
  30. }
  31. /// <summary>
  32. /// 回滚事务
  33. /// </summary>
  34. public void Rollback()
  35. {
  36. DataFactory.Database().Rollback();
  37. }
  38. /// <summary>
  39. /// 关闭数据库连接
  40. /// </summary>
  41. public void Close()
  42. {
  43. DataFactory.Database().Close();
  44. }
  45. #endregion
  46. #region SqlBulkCopy大批量数据插入
  47. /// <summary>
  48. /// 大批量数据插入
  49. /// </summary>
  50. /// <param name="datatable">资料表</param>
  51. /// <returns></returns>
  52. public bool BulkInsert(DataTable datatable)
  53. {
  54. return DataFactory.Database().BulkInsert(datatable);
  55. }
  56. #endregion
  57. #region 执行SQL语句
  58. /// <summary>
  59. /// 执行SQL语句
  60. /// </summary>
  61. /// <param name="strSql">Sql语句</param>
  62. /// <returns></returns>
  63. public int ExecuteBySql(StringBuilder strSql)
  64. {
  65. return DataFactory.Database().ExecuteBySql(strSql);
  66. }
  67. /// <summary>
  68. /// 执行SQL语句
  69. /// </summary>
  70. /// <param name="strSql">Sql语句</param>
  71. /// <param name="isOpenTrans">事务对象</param>
  72. /// <returns></returns>
  73. public int ExecuteBySql(StringBuilder strSql, DbTransaction isOpenTrans)
  74. {
  75. return DataFactory.Database().ExecuteBySql(strSql, isOpenTrans);
  76. }
  77. /// <summary>
  78. /// 执行SQL语句
  79. /// </summary>
  80. /// <param name="strSql">Sql语句</param>
  81. /// <param name="parameters">sql语句对应参数</param>
  82. /// <returns></returns>
  83. public int ExecuteBySql(StringBuilder strSql, DbParameter[] parameters)
  84. {
  85. return DataFactory.Database().ExecuteBySql(strSql, parameters);
  86. }
  87. /// <summary>
  88. /// 执行SQL语句
  89. /// </summary>
  90. /// <param name="strSql">Sql语句</param>
  91. /// <param name="parameters">sql语句对应参数</param>
  92. /// <param name="isOpenTrans">事务对象</param>
  93. /// <returns></returns>
  94. public int ExecuteBySql(StringBuilder strSql, DbParameter[] parameters, DbTransaction isOpenTrans)
  95. {
  96. return DataFactory.Database().ExecuteBySql(strSql, parameters, isOpenTrans);
  97. }
  98. #endregion
  99. #region 执行存储过程
  100. /// <summary>
  101. /// 执行存储过程
  102. /// </summary>
  103. /// <param name="procName">存储过程</param>
  104. /// <returns></returns>
  105. public int ExecuteByProc(string procName)
  106. {
  107. return DataFactory.Database().ExecuteByProc(procName);
  108. }
  109. /// <summary>
  110. /// 执行存储过程
  111. /// </summary>
  112. /// <param name="procName">存储过程</param>
  113. /// <param name="isOpenTrans">事务对象</param>
  114. /// <returns></returns>
  115. public int ExecuteByProc(string procName, DbTransaction isOpenTrans)
  116. {
  117. return DataFactory.Database().ExecuteByProc(procName, isOpenTrans);
  118. }
  119. /// <summary>
  120. /// 执行存储过程
  121. /// </summary>
  122. /// <param name="procName">存储过程</param>
  123. /// <param name="parameters">sql语句对应参数</param>
  124. /// <returns></returns>
  125. public int ExecuteByProc(string procName, DbParameter[] parameters)
  126. {
  127. return DataFactory.Database().ExecuteByProc(procName, parameters);
  128. }
  129. /// <summary>
  130. /// 执行存储过程
  131. /// </summary>
  132. /// <param name="procName">存储过程</param>
  133. /// <param name="parameters">sql语句对应参数</param>
  134. /// <param name="isOpenTrans">事务对象</param>
  135. /// <returns></returns>
  136. public int ExecuteByProc(string procName, DbParameter[] parameters, DbTransaction isOpenTrans)
  137. {
  138. return DataFactory.Database().ExecuteByProc(procName, parameters, isOpenTrans);
  139. }
  140. #endregion
  141. #region 插入数据
  142. /// <summary>
  143. /// 插入数据
  144. /// </summary>
  145. /// <param name="entity">实体类对象</param>
  146. /// <returns></returns>
  147. public int Insert(T entity)
  148. {
  149. return DataFactory.Database().Insert<T>(entity);
  150. }
  151. /// <summary>
  152. /// 插入数据
  153. /// </summary>
  154. /// <param name="entity">实体类对象</param>
  155. /// <param name="isOpenTrans">事务对象</param>
  156. /// <returns></returns>
  157. public int Insert(T entity, DbTransaction isOpenTrans)
  158. {
  159. return DataFactory.Database().Insert<T>(entity, isOpenTrans);
  160. }
  161. /// <summary>
  162. /// 批量插入数据
  163. /// </summary>
  164. /// <param name="entity">实体类对象</param>
  165. /// <returns></returns>
  166. public int Insert(List<T> entity)
  167. {
  168. return DataFactory.Database().Insert<T>(entity);
  169. }
  170. /// <summary>
  171. /// 批量插入数据
  172. /// </summary>
  173. /// <param name="entity">实体类对象</param>
  174. /// <param name="isOpenTrans">事务对象</param>
  175. /// <returns></returns>
  176. public int Insert(List<T> entity, DbTransaction isOpenTrans)
  177. {
  178. return DataFactory.Database().Insert<T>(entity, isOpenTrans);
  179. }
  180. #endregion
  181. #region 修改数据
  182. /// <summary>
  183. /// 修改数据
  184. /// </summary>
  185. /// <param name="entity">实体对象</param>
  186. /// <returns></returns>
  187. public int Update(T entity)
  188. {
  189. return DataFactory.Database().Update<T>(entity);
  190. }
  191. /// <summary>
  192. /// 修改数据
  193. /// </summary>
  194. /// <param name="entity">实体对象</param>
  195. /// <param name="isOpenTrans">事务对象</param>
  196. /// <returns></returns>
  197. public int Update(T entity, DbTransaction isOpenTrans)
  198. {
  199. return DataFactory.Database().Update<T>(entity, isOpenTrans);
  200. }
  201. /// <summary>
  202. /// 修改数据
  203. /// </summary>
  204. /// <param name="propertyName">实体属性名称</param>
  205. /// <param name="propertyValue">字段值</param>
  206. /// <returns></returns>
  207. public int Update(string propertyName, string propertyValue)
  208. {
  209. return DataFactory.Database().Update<T>(propertyName, propertyValue);
  210. }
  211. /// <summary>
  212. /// 修改数据
  213. /// </summary>
  214. /// <param name="propertyName">实体属性名称</param>
  215. /// <param name="propertyValue">字段值</param>
  216. /// <param name="isOpenTrans">事务对象</param>
  217. /// <returns></returns>
  218. public int Update(string propertyName, string propertyValue, DbTransaction isOpenTrans)
  219. {
  220. return DataFactory.Database().Update<T>(propertyName, propertyValue, isOpenTrans);
  221. }
  222. /// <summary>
  223. /// 批量修改数据
  224. /// </summary>
  225. /// <param name="entity">实体对象</param>
  226. /// <returns></returns>
  227. public int Update(List<T> entity)
  228. {
  229. return DataFactory.Database().Update<T>(entity);
  230. }
  231. /// <summary>
  232. /// 批量修改数据
  233. /// </summary>
  234. /// <param name="entity">实体对象</param>
  235. /// <param name="isOpenTrans">事务对象</param>
  236. /// <returns></returns>
  237. public int Update(List<T> entity, DbTransaction isOpenTrans)
  238. {
  239. return DataFactory.Database().Update<T>(entity, isOpenTrans);
  240. }
  241. #endregion
  242. #region 删除数据
  243. /// <summary>
  244. /// 删除数据
  245. /// </summary>
  246. /// <param name="entity">实体类</param>
  247. /// <returns></returns>
  248. public int Delete(T entity)
  249. {
  250. return DataFactory.Database().Delete<T>(entity);
  251. }
  252. /// <summary>
  253. /// 删除数据
  254. /// </summary>
  255. /// <param name="entity">实体类</param>
  256. /// <param name="isOpenTrans">事务对象</param>
  257. /// <returns></returns>
  258. public int Delete(T entity, DbTransaction isOpenTrans)
  259. {
  260. return DataFactory.Database().Delete<T>(entity, isOpenTrans);
  261. }
  262. /// <summary>
  263. /// 删除数据
  264. /// </summary>
  265. /// <param name="propertyValue">主键值</param>
  266. /// <returns></returns>
  267. public int Delete(object propertyValue)
  268. {
  269. return DataFactory.Database().Delete<T>(propertyValue);
  270. }
  271. /// <summary>
  272. /// 删除数据
  273. /// </summary>
  274. /// <param name="propertyValue">主键值</param>
  275. /// <param name="isOpenTrans">事务对象</param>
  276. /// <returns></returns>
  277. public int Delete(object propertyValue, DbTransaction isOpenTrans)
  278. {
  279. return DataFactory.Database().Delete<T>(propertyValue, isOpenTrans);
  280. }
  281. /// <summary>
  282. /// 删除数据
  283. /// </summary>
  284. /// <param name="propertyName">实体属性名称</param>
  285. /// <param name="propertyValue">字段值</param>
  286. /// <returns></returns>
  287. public int Delete(string propertyName, string propertyValue)
  288. {
  289. return DataFactory.Database().Delete<T>(propertyName, propertyValue);
  290. }
  291. /// <summary>
  292. /// 删除数据
  293. /// </summary>
  294. /// <param name="propertyName">实体属性名称</param>
  295. /// <param name="propertyValue">字段值</param>
  296. /// <param name="isOpenTrans">事务对象</param>
  297. /// <returns></returns>
  298. public int Delete(string propertyName, string propertyValue, DbTransaction isOpenTrans)
  299. {
  300. return DataFactory.Database().Delete<T>(propertyName, propertyValue, isOpenTrans);
  301. }
  302. /// <summary>
  303. /// 删除数据
  304. /// </summary>
  305. /// <param name="tableName">表名</param>
  306. /// <param name="ht">键值生成SQL条件</param>
  307. /// <returns></returns>
  308. public int Delete(string tableName, Hashtable ht)
  309. {
  310. return DataFactory.Database().Delete(tableName, ht);
  311. }
  312. /// <summary>
  313. /// 删除数据
  314. /// </summary>
  315. /// <param name="tableName">表名</param>
  316. /// <param name="ht">键值生成SQL条件</param>
  317. /// <param name="isOpenTrans">事务对象</param>
  318. /// <returns></returns>
  319. public int Delete(string tableName, Hashtable ht, DbTransaction isOpenTrans)
  320. {
  321. return DataFactory.Database().Delete(tableName, ht, isOpenTrans);
  322. }
  323. /// <summary>
  324. /// 批量删除数据
  325. /// </summary>
  326. /// <param name="propertyValue">主键值:数组1,2,3,4,5,6.....</param>
  327. /// <returns></returns>
  328. public int Delete(object[] propertyValue)
  329. {
  330. return DataFactory.Database().Delete<T>(propertyValue);
  331. }
  332. /// <summary>
  333. /// 批量删除数据
  334. /// </summary>
  335. /// <param name="propertyValue">主键值:数组1,2,3,4,5,6.....</param>
  336. /// <param name="isOpenTrans">事务对象</param>
  337. /// <returns></returns>
  338. public int Delete(object[] propertyValue, DbTransaction isOpenTrans)
  339. {
  340. return DataFactory.Database().Delete<T>(propertyValue, isOpenTrans);
  341. }
  342. /// <summary>
  343. /// 批量删除数据
  344. /// </summary>
  345. /// <param name="propertyName">实体属性名称</param>
  346. /// <param name="propertyValue">字段值:数组1,2,3,4,5,6.....</param>
  347. /// <returns></returns>
  348. public int Delete(string propertyName, object[] propertyValue)
  349. {
  350. return DataFactory.Database().Delete<T>(propertyName, propertyValue);
  351. }
  352. /// <summary>
  353. /// 批量删除数据
  354. /// </summary>
  355. /// <param name="propertyName">实体属性名称</param>
  356. /// <param name="propertyValue">字段值:数组1,2,3,4,5,6.....</param>
  357. /// <param name="isOpenTrans">事务对象</param>
  358. /// <returns></returns>
  359. public int Delete(string propertyName, object[] propertyValue, DbTransaction isOpenTrans)
  360. {
  361. return DataFactory.Database().Delete<T>(propertyName, propertyValue, isOpenTrans);
  362. }
  363. #endregion
  364. #region 查询数据列表、返回List
  365. /// <summary>
  366. /// 查询数据列表、返回List
  367. /// </summary>
  368. /// <param name="Top">显示条数</param>
  369. /// <returns></returns>
  370. public List<T> FindListTop(int Top)
  371. {
  372. return DataFactory.Database().FindListTop<T>(Top);
  373. }
  374. /// <summary>
  375. /// 查询数据列表、返回List
  376. /// </summary>
  377. /// <param name="Top">显示条数</param>
  378. /// <param name="propertyName">实体属性名称</param>
  379. /// <param name="propertyValue">字段值</param>
  380. /// <returns></returns>
  381. public List<T> FindListTop(int Top, string propertyName, string propertyValue)
  382. {
  383. return DataFactory.Database().FindListTop<T>(Top, propertyName, propertyValue);
  384. }
  385. /// <summary>
  386. /// 查询数据列表、返回List
  387. /// </summary>
  388. /// <param name="Top">显示条数</param>
  389. /// <param name="WhereSql">条件</param>
  390. /// <returns></returns>
  391. public List<T> FindListTop(int Top, string WhereSql)
  392. {
  393. return DataFactory.Database().FindListTop<T>(Top, WhereSql);
  394. }
  395. /// <summary>
  396. /// 查询数据列表、返回List
  397. /// </summary>
  398. /// <param name="Top">显示条数</param>
  399. /// <param name="WhereSql">条件</param>
  400. /// <param name="parameters">sql语句对应参数</param>
  401. /// <returns></returns>
  402. public List<T> FindListTop(int Top, string WhereSql, DbParameter[] parameters)
  403. {
  404. return DataFactory.Database().FindListTop<T>(Top, WhereSql, parameters);
  405. }
  406. /// <summary>
  407. /// 查询数据列表、返回List
  408. /// </summary>
  409. /// <returns></returns>
  410. public List<T> FindList()
  411. {
  412. return DataFactory.Database().FindList<T>();
  413. }
  414. /// <summary>
  415. /// 查询数据列表、返回List
  416. /// </summary>
  417. /// <param name="propertyName">实体属性名称</param>
  418. /// <param name="propertyValue">字段值</param>
  419. /// <returns></returns>
  420. public List<T> FindList(string propertyName, string propertyValue)
  421. {
  422. return DataFactory.Database().FindList<T>(propertyName, propertyValue);
  423. }
  424. /// <summary>
  425. /// 查询数据列表、返回List
  426. /// </summary>
  427. /// <param name="WhereSql">条件</param>
  428. /// <returns></returns>
  429. public List<T> FindList(string WhereSql)
  430. {
  431. return DataFactory.Database().FindList<T>(WhereSql);
  432. }
  433. /// <summary>
  434. /// 查询数据列表、返回List
  435. /// </summary>
  436. /// <param name="WhereSql">条件</param>
  437. /// <param name="parameters">sql语句对应参数</param>
  438. /// <returns></returns>
  439. public List<T> FindList(string WhereSql, DbParameter[] parameters)
  440. {
  441. return DataFactory.Database().FindList<T>(WhereSql, parameters);
  442. }
  443. /// <summary>
  444. /// 查询数据列表、返回List
  445. /// </summary>
  446. /// <param name="strSql">Sql语句</param>
  447. /// <returns></returns>
  448. public List<T> FindListBySql(string strSql)
  449. {
  450. return DataFactory.Database().FindListBySql<T>(strSql);
  451. }
  452. /// <summary>
  453. /// 查询数据列表、返回List
  454. /// </summary>
  455. /// <param name="strSql">Sql语句</param>
  456. /// <param name="parameters">sql语句对应参数</param>
  457. /// <returns></returns>
  458. public List<T> FindListBySql(string strSql, DbParameter[] parameters)
  459. {
  460. return DataFactory.Database().FindListBySql<T>(strSql, parameters);
  461. }
  462. /// <summary>
  463. /// 查询数据列表、返回List
  464. /// </summary>
  465. /// <param name="Pagination">分页参数</param>
  466. /// <returns></returns>
  467. public List<T> FindListPage(ref Pagination Pagination)
  468. {
  469. string orderField = Pagination.sidx;
  470. string orderType = Pagination.sord;
  471. int pageIndex = Pagination.page;
  472. int pageSize = Pagination.rows;
  473. int totalRow = Pagination.records;
  474. List<T> List = DataFactory.Database().FindListPage<T>(orderField, orderType, pageIndex, pageSize, ref totalRow);
  475. Pagination.records = totalRow;
  476. return List;
  477. }
  478. /// <summary>
  479. /// 查询数据列表、返回List
  480. /// </summary>
  481. /// <param name="WhereSql">条件</param>
  482. /// <param name="Pagination">分页参数</param>
  483. /// <returns></returns>
  484. public List<T> FindListPage(string WhereSql, ref Pagination Pagination)
  485. {
  486. string orderField = Pagination.sidx;
  487. string orderType = Pagination.sord;
  488. int pageIndex = Pagination.page;
  489. int pageSize = Pagination.rows;
  490. int totalRow = Pagination.records;
  491. List<T> List = DataFactory.Database().FindListPage<T>(WhereSql, orderField, orderType, pageIndex, pageSize, ref totalRow);
  492. Pagination.records = totalRow;
  493. return List;
  494. }
  495. /// <summary>
  496. /// 查询数据列表、返回List
  497. /// </summary>
  498. /// <param name="WhereSql">条件</param>
  499. /// <param name="parameters">sql语句对应参数</param>
  500. /// <param name="Pagination">分页参数</param>
  501. /// <returns></returns>
  502. public List<T> FindListPage(string WhereSql, DbParameter[] parameters, ref Pagination Pagination)
  503. {
  504. string orderField = Pagination.sidx;
  505. string orderType = Pagination.sord;
  506. int pageIndex = Pagination.page;
  507. int pageSize = Pagination.rows;
  508. int totalRow = Pagination.records;
  509. List<T> List = DataFactory.Database().FindListPage<T>(WhereSql, parameters, orderField, orderType, pageIndex, pageSize, ref totalRow);
  510. Pagination.records = totalRow;
  511. return List;
  512. }
  513. /// <summary>
  514. /// 查询数据列表、返回List
  515. /// </summary>
  516. /// <param name="strSql">Sql语句</param>
  517. /// <param name="Pagination">分页参数</param>
  518. /// <returns></returns>
  519. public List<T> FindListPageBySql(string strSql, ref Pagination Pagination)
  520. {
  521. string orderField = Pagination.sidx;
  522. string orderType = Pagination.sord;
  523. int pageIndex = Pagination.page;
  524. int pageSize = Pagination.rows;
  525. int totalRow = Pagination.records;
  526. List<T> List = DataFactory.Database().FindListPageBySql<T>(strSql, orderField, orderType, pageIndex, pageSize, ref totalRow);
  527. Pagination.records = totalRow;
  528. return List;
  529. }
  530. /// <summary>
  531. /// 查询数据列表、返回List
  532. /// </summary>
  533. /// <param name="strSql">Sql语句</param>
  534. /// <param name="Pagination">分页参数</param>
  535. /// <returns></returns>
  536. public List<T> FindListPageBySql(string strSql, DbParameter[] parameters, ref Pagination Pagination)
  537. {
  538. string orderField = Pagination.sidx;
  539. string orderType = Pagination.sord;
  540. int pageIndex = Pagination.page;
  541. int pageSize = Pagination.rows;
  542. int totalRow = Pagination.records;
  543. List<T> List = DataFactory.Database().FindListPageBySql<T>(strSql, parameters, orderField, orderType, pageIndex, pageSize, ref totalRow);
  544. Pagination.records = totalRow;
  545. return List;
  546. }
  547. #endregion
  548. #region 查询数据列表、返回DataTable
  549. /// <summary>
  550. /// 查询数据列表、返回 DataTable
  551. /// </summary>
  552. /// <param name="Top">显示条数</param>
  553. /// <returns></returns>
  554. public DataTable FindTableTop(int Top)
  555. {
  556. return DataFactory.Database().FindTableTop<T>(Top);
  557. }
  558. /// <summary>
  559. /// 查询数据列表、返回 DataTable
  560. /// </summary>
  561. /// <param name="Top">显示条数</param>
  562. /// <param name="WhereSql">条件</param>
  563. /// <returns></returns>
  564. public DataTable FindTableTop(int Top, string WhereSql)
  565. {
  566. return DataFactory.Database().FindTableTop<T>(Top, WhereSql);
  567. }
  568. /// <summary>
  569. /// 查询数据列表、返回 DataTable
  570. /// </summary>
  571. /// <param name="Top">显示条数</param>
  572. /// <param name="WhereSql">条件</param>
  573. /// <param name="parameters">sql语句对应参数</param>
  574. /// <returns></returns>
  575. public DataTable FindTableTop(int Top, string WhereSql, DbParameter[] parameters)
  576. {
  577. return DataFactory.Database().FindTableTop<T>(Top, WhereSql, parameters);
  578. }
  579. /// <summary>
  580. /// 查询数据列表、返回 DataTable
  581. /// </summary>
  582. /// <returns></returns>
  583. public DataTable FindTable()
  584. {
  585. return DataFactory.Database().FindTable<T>();
  586. }
  587. /// <summary>
  588. /// 查询数据列表、返回 DataTable
  589. /// </summary>
  590. /// <param name="WhereSql">条件</param>
  591. /// <returns></returns>
  592. public DataTable FindTable(string WhereSql)
  593. {
  594. return DataFactory.Database().FindTable<T>(WhereSql);
  595. }
  596. /// <summary>
  597. /// 查询数据列表、返回 DataTable
  598. /// </summary>
  599. /// <param name="WhereSql">条件</param>
  600. /// <param name="parameters">sql语句对应参数</param>
  601. /// <returns></returns>
  602. public DataTable FindTable(string WhereSql, DbParameter[] parameters)
  603. {
  604. return DataFactory.Database().FindTable<T>(WhereSql, parameters);
  605. }
  606. /// <summary>
  607. /// 查询数据列表、返回 DataTable
  608. /// </summary>
  609. /// <param name="strSql">Sql语句</param>
  610. /// <returns></returns>
  611. public DataTable FindTableBySql(string strSql)
  612. {
  613. return DataFactory.Database().FindTableBySql(strSql);
  614. }
  615. /// <summary>
  616. /// 查询数据列表、返回 DataTable
  617. /// </summary>
  618. /// <param name="strSql">Sql语句</param>
  619. /// <param name="parameters">sql语句对应参数</param>
  620. /// <returns></returns>
  621. public DataTable FindTableBySql(string strSql, DbParameter[] parameters)
  622. {
  623. return DataFactory.Database().FindTableBySql(strSql, parameters);
  624. }
  625. /// <summary>
  626. /// 查询数据列表、返回 DataTable
  627. /// </summary>
  628. /// <param name="orderField">排序字段</param>
  629. /// <param name="orderType">排序类型</param>
  630. /// <param name="pageIndex">当前页</param>
  631. /// <param name="pageSize">页大小</param>
  632. /// <param name="recordCount">返回查询条数</param>
  633. /// <returns></returns>
  634. public DataTable FindTablePage(ref Pagination Pagination)
  635. {
  636. string orderField = Pagination.sidx;
  637. string orderType = Pagination.sord;
  638. int pageIndex = Pagination.page;
  639. int pageSize = Pagination.rows;
  640. int totalRow = Pagination.records;
  641. DataTable dt = DataFactory.Database().FindTablePage<T>(orderField, orderType, pageIndex, pageSize, ref totalRow);
  642. Pagination.records = totalRow;
  643. return dt;
  644. }
  645. /// <summary>
  646. /// 查询数据列表、返回 DataTable
  647. /// </summary>
  648. /// <param name="WhereSql">条件</param>
  649. /// <param name="Pagination">分页参数</param>
  650. /// <returns></returns>
  651. public DataTable FindTablePage(string WhereSql, ref Pagination Pagination)
  652. {
  653. string orderField = Pagination.sidx;
  654. string orderType = Pagination.sord;
  655. int pageIndex = Pagination.page;
  656. int pageSize = Pagination.rows;
  657. int totalRow = Pagination.records;
  658. DataTable dt = DataFactory.Database().FindTablePage<T>(WhereSql, orderField, orderType, pageIndex, pageSize, ref totalRow);
  659. Pagination.records = totalRow;
  660. return dt;
  661. }
  662. /// <summary>
  663. /// 查询数据列表、返回 DataTable
  664. /// </summary>
  665. /// <param name="WhereSql">条件</param>
  666. /// <param name="parameters">sql语句对应参数</param>
  667. /// <param name="Pagination">分页参数</param>
  668. /// <returns></returns>
  669. public DataTable FindTablePage(string WhereSql, DbParameter[] parameters, ref Pagination Pagination)
  670. {
  671. string orderField = Pagination.sidx;
  672. string orderType = Pagination.sord;
  673. int pageIndex = Pagination.page;
  674. int pageSize = Pagination.rows;
  675. int totalRow = Pagination.records;
  676. DataTable dt = DataFactory.Database().FindTablePage<T>(WhereSql, parameters, orderField, orderType, pageIndex, pageSize, ref totalRow);
  677. Pagination.records = totalRow;
  678. return dt;
  679. }
  680. /// <summary>
  681. /// 查询数据列表、返回 DataTable
  682. /// </summary>
  683. /// <param name="strSql">Sql语句</param>
  684. /// <param name="Pagination">分页参数</param>
  685. /// <returns></returns>
  686. public DataTable FindTablePageBySql(string strSql, ref Pagination Pagination)
  687. {
  688. string orderField = Pagination.sidx;
  689. string orderType = Pagination.sord;
  690. int pageIndex = Pagination.page;
  691. int pageSize = Pagination.rows;
  692. int totalRow = Pagination.records;
  693. DataTable dt = DataFactory.Database().FindTablePageBySql(strSql, orderField, orderType, pageIndex, pageSize, ref totalRow);
  694. Pagination.records = totalRow;
  695. return dt;
  696. }
  697. /// <summary>
  698. /// 查询数据列表、返回 DataTable
  699. /// </summary>
  700. /// <param name="strSql">Sql语句</param>
  701. /// <param name="parameters">sql语句对应参数</param>
  702. /// <param name="Pagination">分页参数</param>
  703. /// <returns></returns>
  704. public DataTable FindTablePageBySql(string strSql, DbParameter[] parameters, ref Pagination Pagination)
  705. {
  706. string orderField = Pagination.sidx;
  707. string orderType = Pagination.sord;
  708. int pageIndex = Pagination.page;
  709. int pageSize = Pagination.rows;
  710. int totalRow = Pagination.records;
  711. DataTable dt = DataFactory.Database().FindTablePageBySql(strSql, parameters, orderField, orderType, pageIndex, pageSize, ref totalRow);
  712. Pagination.records = totalRow;
  713. return dt;
  714. }
  715. /// <summary>
  716. /// 查询数据列表、返回 DataTable
  717. /// </summary>
  718. /// <param name="procName">存储过程</param>
  719. /// <returns></returns>
  720. public DataTable FindTableByProc(string procName)
  721. {
  722. return DataFactory.Database().FindTableByProc(procName);
  723. }
  724. /// <summary>
  725. /// 查询数据列表、返回 DataTable
  726. /// </summary>
  727. /// <param name="procName">存储过程</param>
  728. /// <param name="parameters">sql语句对应参数</param>
  729. /// <returns></returns>
  730. public DataTable FindTableByProc(string procName, DbParameter[] parameters)
  731. {
  732. return DataFactory.Database().FindTableByProc(procName, parameters);
  733. }
  734. #endregion
  735. #region 查询数据列表、返回DataSet
  736. /// <summary>
  737. /// 查询数据列表、返回DataSet
  738. /// </summary>
  739. /// <param name="strSql">Sql语句</param>
  740. /// <returns></returns>
  741. public DataSet FindDataSetBySql(string strSql)
  742. {
  743. return DataFactory.Database().FindDataSetBySql(strSql);
  744. }
  745. /// <summary>
  746. /// 查询数据列表、返回DataSet
  747. /// </summary>
  748. /// <param name="strSql">Sql语句</param>
  749. /// <param name="parameters">sql语句对应参数</param>
  750. /// <returns></returns>
  751. public DataSet FindDataSetBySql(string strSql, DbParameter[] parameters)
  752. {
  753. return DataFactory.Database().FindDataSetBySql(strSql, parameters);
  754. }
  755. /// <summary>
  756. /// 查询数据列表、返回DataSet
  757. /// </summary>
  758. /// <param name="strSql">存储过程</param>
  759. /// <returns></returns>
  760. public DataSet FindDataSetByProc(string procName)
  761. {
  762. return DataFactory.Database().FindDataSetByProc(procName);
  763. }
  764. /// <summary>
  765. /// 查询数据列表、返回DataSet
  766. /// </summary>
  767. /// <param name="strSql">存储过程</param>
  768. /// <param name="parameters">sql语句对应参数</param>
  769. /// <returns></returns>
  770. public DataSet FindDataSetByProc(string procName, DbParameter[] parameters)
  771. {
  772. return DataFactory.Database().FindDataSetByProc(procName, parameters);
  773. }
  774. #endregion
  775. #region 查询对象、返回实体
  776. /// <summary>
  777. /// 查询对象、返回实体
  778. /// </summary>
  779. /// <param name="propertyValue">主键值</param>
  780. /// <returns></returns>
  781. public T FindEntity(object propertyValue)
  782. {
  783. return DataFactory.Database().FindEntity<T>(propertyValue);
  784. }
  785. /// <summary>
  786. /// 查询对象、返回实体
  787. /// </summary>
  788. /// <param name="propertyName">实体属性名称</param>
  789. /// <param name="propertyValue">字段值</param>
  790. /// <returns></returns>
  791. public T FindEntity(string propertyName, object propertyValue)
  792. {
  793. return DataFactory.Database().FindEntity<T>(propertyName, propertyValue);
  794. }
  795. /// <summary>
  796. /// 查询对象、返回实体
  797. /// </summary>
  798. /// <param name="WhereSql">条件</param>
  799. /// <returns></returns>
  800. public T FindEntityByWhere(string WhereSql)
  801. {
  802. return DataFactory.Database().FindEntity<T>(WhereSql);
  803. }
  804. /// <summary>
  805. /// 查询对象、返回实体
  806. /// </summary>
  807. /// <param name="WhereSql">条件</param>
  808. /// <param name="parameters">sql语句对应参数</param>
  809. /// <returns></returns>
  810. public T FindEntityByWhere(string WhereSql, DbParameter[] parameters)
  811. {
  812. return DataFactory.Database().FindEntity<T>(WhereSql, parameters);
  813. }
  814. /// <summary>
  815. /// 查询对象、返回实体
  816. /// </summary>
  817. /// <param name="strSql">Sql语句</param>
  818. /// <returns></returns>
  819. public T FindEntityBySql(string strSql)
  820. {
  821. return DataFactory.Database().FindEntityBySql<T>(strSql);
  822. }
  823. /// <summary>
  824. /// 查询对象、返回实体
  825. /// </summary>
  826. /// <param name="strSql">Sql语句</param>
  827. /// <param name="parameters">sql语句对应参数</param>
  828. /// <returns></returns>
  829. public T FindEntityBySql(string strSql, DbParameter[] parameters)
  830. {
  831. return DataFactory.Database().FindEntityBySql<T>(strSql, parameters);
  832. }
  833. #endregion
  834. #region 查询数据、返回条数
  835. /// <summary>
  836. /// 查询数据、返回条数
  837. /// </summary>
  838. /// <returns></returns>
  839. public int FindCount()
  840. {
  841. return DataFactory.Database().FindCount<T>();
  842. }
  843. /// <summary>
  844. /// 查询数据、返回条数
  845. /// <param name="propertyName">实体属性名称</param>
  846. /// <param name="propertyValue">字段值</param>
  847. /// </summary>
  848. /// <returns></returns>
  849. public int FindCount(string propertyName, string propertyValue)
  850. {
  851. return DataFactory.Database().FindCount<T>(propertyName, propertyValue);
  852. }
  853. /// <summary>
  854. /// 查询数据、返回条数
  855. /// </summary>
  856. /// <param name="WhereSql">条件</param>
  857. /// <returns></returns>
  858. public int FindCount(string WhereSql)
  859. {
  860. return DataFactory.Database().FindCount<T>(WhereSql);
  861. }
  862. /// <summary>
  863. /// 查询数据、返回条数
  864. /// </summary>
  865. /// <param name="WhereSql">条件</param>
  866. /// <param name="parameters">sql语句对应参数</param>
  867. /// <returns></returns>
  868. public int FindCount(string WhereSql, DbParameter[] parameters)
  869. {
  870. return DataFactory.Database().FindCount<T>(WhereSql, parameters);
  871. }
  872. /// <summary>
  873. /// 查询数据、返回条数
  874. /// </summary>
  875. /// <param name="strSql">Sql语句</param>
  876. /// <returns></returns>
  877. public int FindCountBySql(string strSql)
  878. {
  879. return DataFactory.Database().FindCountBySql(strSql);
  880. }
  881. /// <summary>
  882. /// 查询数据、返回条数
  883. /// </summary>
  884. /// <param name="strSql">Sql语句</param>
  885. /// <param name="parameters">sql语句对应参数</param>
  886. /// <returns></returns>
  887. public int FindCountBySql(string strSql, DbParameter[] parameters)
  888. {
  889. return DataFactory.Database().FindCountBySql(strSql, parameters);
  890. }
  891. #endregion
  892. #region 查询数据、返回最大数
  893. /// <summary>
  894. /// 查询数据、返回最大数
  895. /// </summary>
  896. /// <param name="propertyName">实体属性名称</param>
  897. /// <returns></returns>
  898. public object FindMax(string propertyName)
  899. {
  900. return DataFactory.Database().FindMax<T>(propertyName);
  901. }
  902. /// <summary>
  903. /// 查询数据、返回最大数
  904. /// </summary>
  905. /// <param name="propertyName">实体属性名称</param>
  906. /// <param name="WhereSql">条件</param>
  907. /// <returns></returns>
  908. public object FindMax(string propertyName, string WhereSql)
  909. {
  910. return DataFactory.Database().FindMax<T>(propertyName, WhereSql);
  911. }
  912. /// <summary>
  913. /// 查询数据、返回最大数
  914. /// </summary>
  915. /// <param name="propertyName">实体属性名称</param>
  916. /// <param name="WhereSql">条件</param>
  917. /// <param name="parameters">sql语句对应参数</param>
  918. /// <returns></returns>
  919. public object FindMax(string propertyName, string WhereSql, DbParameter[] parameters)
  920. {
  921. return DataFactory.Database().FindMax<T>(propertyName, WhereSql, parameters);
  922. }
  923. /// <summary>
  924. /// 查询数据、返回最大数
  925. /// </summary>
  926. /// <param name="strSql">Sql语句</param>
  927. /// <returns></returns>
  928. public object FindMaxBySql(string strSql)
  929. {
  930. return DataFactory.Database().FindMaxBySql(strSql);
  931. }
  932. /// <summary>
  933. /// 查询数据、返回最大数
  934. /// </summary>
  935. /// <param name="strSql">Sql语句</param>
  936. /// <param name="parameters">sql语句对应参数</param>
  937. /// <returns></returns>
  938. public object FindMaxBySql(string strSql, DbParameter[] parameters)
  939. {
  940. return DataFactory.Database().FindMaxBySql(strSql, parameters);
  941. }
  942. /// <summary>
  943. /// 查询数据列表、返回 DataTable
  944. /// </summary>
  945. /// <param name="strSql">Sql语句</param>
  946. /// <param name="TempName">Temp表名</param>
  947. /// <param name="parameters">sql语句对应参数</param>
  948. /// <param name="Pagination">分页参数</param>
  949. /// <returns></returns>
  950. public DataTable FindTablePageBySql_OtherTemp(string strSql, string TempName, string Droptable, string connectstr, DbParameter[] parameters, ref Pagination Pagination)
  951. {
  952. string orderField = Pagination.sidx;
  953. string orderType = Pagination.sord;
  954. int pageIndex = Pagination.page;
  955. int pageSize = Pagination.rows;
  956. int totalRow = Pagination.records;
  957. DataTable dt = DataFactory.Database().FindTablePageBySql_OtherTemp(strSql, TempName, Droptable, connectstr, parameters, orderField, orderType, pageIndex, pageSize, ref totalRow);
  958. Pagination.records = totalRow;
  959. return dt;
  960. }
  961. /// <summary>
  962. /// 查询数据列表、返回 DataTable
  963. /// </summary>
  964. /// <param name="strSql">Sql语句</param>
  965. /// <param name="parameters">sql语句对应参数</param>
  966. /// <param name="Pagination">分页参数</param>
  967. /// <returns></returns>
  968. public DataTable FindTablePageBySql_Other(string strSql, string connectstr, DbParameter[] parameters, ref Pagination Pagination)
  969. {
  970. string orderField = Pagination.sidx;
  971. string orderType = Pagination.sord;
  972. int pageIndex = Pagination.page;
  973. int pageSize = Pagination.rows;
  974. int totalRow = Pagination.records;
  975. DataTable dt = DataFactory.Database().FindTablePageBySql_Other(strSql, connectstr, parameters, orderField, orderType, pageIndex, pageSize, ref totalRow);
  976. Pagination.records = totalRow;
  977. return dt;
  978. }
  979. /// <summary>
  980. /// 查询数据列表、返回 DataTable
  981. /// </summary>
  982. /// <param name="strSql">Sql语句</param>
  983. /// <param name="parameters">sql语句对应参数</param>
  984. public DataTable GetDataTableBySql_Other(string strSql, string connectstr, params SqlParameter[] spArr)
  985. {
  986. DataTable dt = DataFactory.Database().GetDataTableBySql_Other(strSql, connectstr, spArr);
  987. return dt;
  988. }
  989. #endregion
  990. }
  991. }