Foxtable(狐表)用户栏目专家坐堂 → 【友情提醒】一定要注意查询条件中的单引号


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

主题:【友情提醒】一定要注意查询条件中的单引号

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


加好友 发短信 一级勋章
等级:版主 帖子:1993 积分:19409 威望:0 精华:20 注册:2008/9/2 10:09:00
【友情提醒】一定要注意查询条件中的单引号  发帖心情 Post By:2009/7/31 16:50:00 [显示全部帖子]

    foxtable帮助中的“自定义录入窗口”是个非常经典的应用。我也是拿来主义,把里面的代码粘来就用。
    但今天下午给一个朋友测试时,发现一个很严重的错误:只要在查询条件中输入半角的单引号,查询就会出错。经仔细检查,原来老六提供的代码并不完美,当查询条件中出现单引号时,就会造成SQl语句错误。
    “完美的”代码应该是:
 

Dim txt As String = e.Form.Controls("TextBox1").Value
Dim
dst As WinForm.DataList = e.Form.Controls("DataList1")
If
txt = "" Then
    dst.RowFilter = ""

Else

    txt = "'*" & txt.Replace("'","''") & "*'"    '如果用户输入的条件中带单引号,自动将其替换为两个单引号
    dst.RowFilter = "客户ID Like " & txt & " Or 公司名称 Like " & txt & " Or 地址 Like " & txt & " Or 联系人 Like " & txt
End
If

    特别提醒各位狐友注意,包括各种SQL语句中,只要查询条件中存在单引号,就一定要2个单引号代替。


 回到顶部