关于SQL的like表达语句

vcfresh 2001-06-29 10:59:50
本人用SQL语句中的like表达式
如 select * from addins where name like "地球*"
返回结果正确
如 select * from addins where name like "公*"
返回的查询结果并没有公字
也就是说,like表达式中的汉字如果替换成其他汉字或词语,有时候会返回正确结果,有时候返回摸棱两可的结果.
是不是SQL的like表达式对汉字的支持有问题,如何解决呢?
请大侠赐教!
...全文
165 9 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
9 条回复
切换为时间正序
请发表友善的回复…
发表回复
cqq_chen 2001-06-29
  • 打赏
  • 举报
回复
正常情况下你的代码没有什么问题,我一直是用这种方法做了,已经有好几年时间了也没有什么问题出现过。
y1g1y1 2001-06-29
  • 打赏
  • 举报
回复
这个问题是这样的。
如果你是用 DAO 代码(dbengine.CreateDatabase)所建的数据库,

建库时,请一定要指定语言:
dbLangChineseSimplified (简体中文)
否则就会出现你所说的问题。
T2 2001-06-29
  • 打赏
  • 举报
回复
你的代碼我已運行沒有錯﹐不過我用的是Office2000
vcfresh 2001-06-29
  • 打赏
  • 举报
回复

'本人贴的是DAO代码
Dim odb As Database
Dim resResource As Recordset

'cmdSearch为按钮控件
Private Sub cmdSearch_Click()

'lvwResource为listview控件
lvwResource.ListItems.Clear

Set odb = OpenDatabase("c:\test.mdb", False, True)
'txtName为TextBox控件
Set resResource = odb.OpenRecordset("select * from addins where name like '" & Trim$(txtName.Text) & "*'", dbOpenDynaset)
While Not resResource.EOF
lvwResource.ListItems.Add , , resResource!Name
resResource.MoveNext
Wend

End Sub


T2 2001-06-29
  • 打赏
  • 举报
回复
用ADO,貼出你的VB代碼
vcfresh 2001-06-29
  • 打赏
  • 举报
回复
to 以上诸位
你们的方法在我发表问题之前就试过了,对于DAO的查询方式,只能用*作统配符,不能用%
在VB中,我用的是单引号,但也不行
还请各位大侠先试一下程序再进行讨论吧!谢谢
huanggx 2001-06-29
  • 打赏
  • 举报
回复
你有两个问题:1、不能使用双引号,要用单引号;2、不能用*作为统配符,要用%。
如果你用的数据库是access或者sql server的话
tanjianmin 2001-06-29
  • 打赏
  • 举报
回复
在vb中,用"%"代替"*"!
T2 2001-06-29
  • 打赏
  • 举报
回复
select * from addins where name like '公%'

7,785

社区成员

发帖
与我相关
我的任务
社区描述
VB 基础类
社区管理员
  • VB基础类社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧