Foxtable(狐表)用户栏目专家坐堂 → [求助]关于SQLSelect查询不到记录


  共有2569人关注过本帖树形打印复制链接

主题:[求助]关于SQLSelect查询不到记录

帅哥哟,离线,有人找我吗?
nsdata
  1楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:幼狐 帖子:159 积分:1442 威望:0 精华:0 注册:2022/11/10 9:07:00
[求助]关于SQLSelect查询不到记录  发帖心情 Post By:2023/3/12 23:40:00 [只看该作者]


Access表中有5万行记录并确有要查询关键字的,外部数据表设置为“默认加载行数”,但我用SQLSelect"模糊查询" 却查询不到记录请问是什么原因如何解决?
代码如下,执行后打印数量为0:

Dim drs As List(Of DataRow) = DataTables("zybook").SQLSelect("content Like '%外水应入不得入%'")
Output.Show("数量:" & drs.Count)
For Each dr As DataRow In drs
   Output.Show(dr("content"))
Next

更奇怪是以上代码能查询200行前记录,200行后的记录都查询不到明明是有的


图片点击可在新窗口打开查看此主题相关图片如下:sqlselect问题1.png
图片点击可在新窗口打开查看



[此贴子已经被作者于2023/3/13 23:02:38编辑过]

 回到顶部
帅哥,在线噢!
有点蓝
  2楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:超级版主 帖子:106374 积分:541011 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2023/3/13 8:35:00 [只看该作者]

应该是数据问题,比如中间有空格,回车等。分析一下找不到的行的数据

 回到顶部
帅哥哟,离线,有人找我吗?
nsdata
  3楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:幼狐 帖子:159 积分:1442 威望:0 精华:0 注册:2022/11/10 9:07:00
  发帖心情 Post By:2023/3/13 9:16:00 [只看该作者]


我看了表中的行内容,查询的关键字“%外水应入不得入%”中确实不存在空格或换行符号
同样情况下我使用 SQLfind 精准查找能找到,SQLSelect却没查询到!
同样情况用SQLSelect 200行前的记录任意查询都可以,200行后的记录都查询不了,我实在搞不懂

 回到顶部
帅哥,在线噢!
有点蓝
  4楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:超级版主 帖子:106374 积分:541011 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2023/3/13 9:25:00 [只看该作者]

检查表格数据里“外水应入不得入”,不是检查条件

 回到顶部
帅哥哟,离线,有人找我吗?
nsdata
  5楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:幼狐 帖子:159 积分:1442 威望:0 精华:0 注册:2022/11/10 9:07:00
  发帖心情 Post By:2023/3/13 23:01:00 [只看该作者]

  
有点蓝,请看以下2张截图同样的代码,表里面也确实有对应关键字的,但SQLSelect 就是查询不到数据


图片点击可在新窗口打开查看此主题相关图片如下:sqlselect问题1.png
图片点击可在新窗口打开查看




 回到顶部
帅哥,在线噢!
有点蓝
  6楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:超级版主 帖子:106374 积分:541011 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2023/3/13 23:14:00 [只看该作者]

试试

DataTables("zybook").SQLSelect("[content] Like '*外水应入不得入*'")

 回到顶部
帅哥哟,离线,有人找我吗?
nsdata
  7楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:幼狐 帖子:159 积分:1442 威望:0 精华:0 注册:2022/11/10 9:07:00
  发帖心情 Post By:2023/3/14 20:33:00 [只看该作者]

   
  %换成*之后连前200行的记录都查询不到了,这个应该不行的。

图片点击可在新窗口打开查看此主题相关图片如下:sqlselect问题3.png
图片点击可在新窗口打开查看


'之前下面的代码能查询到表中200行前的记录,200行之后的就查询不到  百思不得姐!!! 是不是SQLSelect函数有bug!!  有点蓝有劳你得再帮我分析分析
Dim drs As List(Of DataRow) = DataTables("zybook").SQLSelect("content Like '%外水应入不得入%'")
Output.Show("数量:" & drs.Count)
For Each dr As DataRow In drs
   Output.Show(dr("content"))
Next


 回到顶部
帅哥,在线噢!
有点蓝
  8楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:超级版主 帖子:106374 积分:541011 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2023/3/14 20:48:00 [只看该作者]

函数没有问题。请上传实例测试

 回到顶部
帅哥哟,离线,有人找我吗?
nsdata
  9楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:幼狐 帖子:159 积分:1442 威望:0 精华:0 注册:2022/11/10 9:07:00
  发帖心情 Post By:2023/3/15 21:51:00 [只看该作者]

  
    已上传DEMO,在线等你哈图片点击可在新窗口打开查看图片点击可在新窗口打开查看图片点击可在新窗口打开查看
    说明:原本数据库记录是5万条的,用SQLSelect("content Like '%外水应入不得入%'") 查询不到,现删除了大量记录只保留几十条记录倒是能查询到,请帮忙分析下是说明原因, 测试代码在 窗口设计那里

[此贴子已经被作者于2023/3/16 21:23:15编辑过]

 回到顶部
帅哥,在线噢!
有点蓝
  10楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:超级版主 帖子:106374 积分:541011 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2023/3/16 8:46:00 [只看该作者]

现在上面的实例,有哪个数据查不到?如果实例没有问题发上来是没有意义的,请上传有问题的数据库测试

 回到顶部
总数 12 1 2 下一页