VB.NET点击搜索按钮失效 输入关键词未返回匹配Judul Buku结果
问题场景
在文本框输入“Sang”触发搜索时,表格无法展示Judul Buku字段中包含该词汇的匹配数据。
相关操作与配置说明:
- 点击搜索按钮时的实际操作界面状态
- 搜索按钮对应的点击事件代码:
Private Sub TsSearch_Click(sender As Object, e As EventArgs) Handles TsSearch.Click If TxtKeyword.Text <> "" Then TBL_BukuTableAdapter.FillByJudulBuku(UASDataSet.TBL_Buku, TxtKeyword.Text) End If End Sub
- 已在查询配置中添加了搜索功能对应的过滤方法,查询定义的配置界面
排查解决思路
- 最常见的踩坑点是查询匹配逻辑配置错误:检查
FillByJudulBuku对应的SQL语句,如果写的是精确匹配逻辑(类似WHERE Judul Buku = @Keyword),只有当字段值和输入的关键词完全一模一样时才会返回结果,根本无法匹配内容中局部包含“Sang”的条目。需要把查询条件改成模糊匹配形式:WHERE Judul Buku LIKE '%' + @Keyword + '%',只要字段内容中存在连续的“Sang”片段就能正常检索。 - 校验参数传递流程:调用Fill方法前,通过弹窗或者日志确认实际传入查询的参数值,排除取文本框内容时带入多余空格、换行符,或者参数类型不匹配导致检索失效的问题。
- 确认查询实际返回结果:Fill执行完成后直接判断数据集的行数,确认查询本身是否返回了匹配的数据,排除更新TableAdapter查询后没有重新生成强类型方法、误调用旧版本空查询方法导致结果集为空的问题。
- 适配数据库匹配规则:如果使用的数据库配置了区分大小写、区分重音的排序规则,可以把匹配逻辑统一为大小写无关的形式,比如改写为
WHERE LOWER(Judul Buku) LIKE '%' + LOWER(@Keyword) + '%',避免输入的大小写格式和存储内容不匹配导致检索失败。
内容的提问来源于stack exchange,提问作者Virya Kho
相关产品推荐
相关产品推荐

