达梦数据库端口号(达梦数据库端口号不是5236,会导致哪些问题)

达梦数据库端口号(达梦数据库端口号不是5236,会导致哪些问题)使用 SqlSugar 连接达梦数据库 联查两张表的数据遇到的奇怪问题 同一套代码 在一个环境中可以正常查询并返回数据 但在另一环境中运行则查不到数据 在个人电脑上测试时也能正确运行 搞不清楚是怎么回事 特此记录测试过程 在达梦数据库中创建两张表 CLASS 表记录班级数据 STUDENT 记录班级学生数据 下面截图是两张表中的测试数据



  使用SqlSugar连接达梦数据库,联查两张表的数据遇到的奇怪问题:同一套代码,在一个环境中可以正常查询并返回数据,但在另一环境中运行则查不到数据。在个人电脑上测试时也能正确运行,搞不清楚是怎么回事,特此记录测试过程。
  在达梦数据库中创建两张表,CLASS表记录班级数据,STUDENT记录班级学生数据,下面截图是两张表中的测试数据。
在这里插入图片描述  代码功能是查找所有有学生的班级信息(本文仅是示例,实际表数据比较复杂,只能单向查),查询逻辑比较简单,条件中的(a.INDEX < 4)仅是为了示意其它条件。

 

  上面的代码在测试环境1运行正常,但是到了测试环境2中却查不出来数据,两个环境中的数据库版本、数据库表都相同,只是数据不同。
  上述查询代码生成的Sql语句如下,表面上看不出来什么问题,将其在达梦管理工具中逐个排除查询条件,最终发现是NOT( “B”.“ID” IS NULL OR “B”.“ID”=‘’)这个条件出的问题,也就是!string.IsNullOrEmpty(b.ID)代码转换的Sql语句,具体而言是其中的OR “B”.“ID”=‘’,如果仅是NOT( “B”.“ID” IS NULL)也能正常返回数据,加上上面的返回就是空值。

 

  最终也没有找到原因,只能将查询代码修改为下面的形式:

 

参考文献:
[1]https://www.donet5.com/home/Doc?typeId=1180

编程小号
上一篇 2025-03-16 15:01
下一篇 2025-02-23 21:40

相关推荐

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。
如需转载请保留出处:https://bianchenghao.cn/bian-cheng-ri-ji/59885.html