tnblog
首页
视频
资源
登录

.net core连接dm达梦数据库。ado.net连接达梦数据库。连接达梦数据库sqlhelper封装。dm数据库参数化

7239人阅读 2022/10/1 22:52 总访问:307783 评论:0 收藏:0 手机
分类: 数据库

先安装.net core连接dm达梦数据库的依赖

  1. <ItemGroup>
  2. <PackageReference Include="FreeSql.Provider.Dameng" Version="3.2.680" />
  3. </ItemGroup>

sqlhelper封装

  1. using Dm;
  2. using System;
  3. using System.Collections.Generic;
  4. using System.Data;
  5. using System.Text;
  6. namespace WomanChildrenAdmin.DAL
  7. {
  8. public class SqlHelper
  9. {
  10. string connstr = "";
  11. public SqlHelper()
  12. {
  13. //从配置文件读取连接字符串
  14. //connstr = ConfigurationManager.ConnectionStrings["conn"].ConnectionString;
  15. connstr = "Server=6.6.6.6;UserId=SYSDBA;PWD=123456;Database=Test";
  16. }
  17. public int Execute(string sql, List<DmParameter> param = null)
  18. {
  19. using (DmConnection conn = new DmConnection(connstr))
  20. {
  21. conn.Open();
  22. using (DmCommand com = new DmCommand(sql, conn))
  23. {
  24. //参数化
  25. if (param != null)
  26. com.Parameters.AddRange(param.ToArray());
  27. return com.ExecuteNonQuery();
  28. }
  29. }
  30. }
  31. public object ExecuteScalar(string sql, List<DmParameter> param = null)
  32. {
  33. using (DmConnection conn = new DmConnection(connstr))
  34. {
  35. conn.Open();
  36. using (DmCommand com = new DmCommand(sql, conn))
  37. {
  38. //参数化
  39. if (param != null)
  40. com.Parameters.AddRange(param.ToArray());
  41. return com.ExecuteScalar();
  42. }
  43. }
  44. }
  45. public DataTable QueryTable(string sql, List<DmParameter> param = null)
  46. {
  47. using (DmConnection conn = new DmConnection(connstr))
  48. {
  49. conn.Open();
  50. using (DmCommand com = new DmCommand(sql, conn))
  51. {
  52. //参数化
  53. if (param != null)
  54. com.Parameters.AddRange(param.ToArray());
  55. DataTable dt = new DataTable();
  56. DmDataAdapter sda = new DmDataAdapter(com);
  57. //把查询结果放入表格
  58. sda.Fill(dt);
  59. return dt;
  60. }
  61. }
  62. }
  63. }
  64. }

注意dm达梦数据库参数化是使用:而不是和sqlserver一样的@

如下:

  1. //注意这里列名也要加双引号不然提示列名找不到。参数化是使用:而不是和sqlserver一样的@
  2. string sql = "select * from \"PERSON\".\"wac_users\" where \"username\"=:username";
  3. List<DmParameter> paramList = new List<DmParameter>();
  4. paramList.Add(new DmParameter(":username", wacUsersInput.username));
  5. paramList.Add(new DmParameter("userpassword", wacUsersInput.userpassword));
  6. DataTable dataTable = sqlHelper.QueryTable(sql, paramList);
评价

青春年华

2020/10/13 11:16:08

[嘻嘻]赞赞


忘掉过去式:@青春年华哈哈,好久没有更新了,就这玩意配置错了 搞了我一天时间

2020/10/20 11:08:46 回复

旧年素颜,君记否
排名
10
文章
102
粉丝
17
评论
34
ICP备案 :渝ICP备18016597号-1
网站信息:2018-2025TNBLOG.NET
技术交流:群号656732739
联系我们:contact@tnblog.net
公网安备:50010702506256
欢迎加群交流技术