搭建论坛《搭建之星》论坛数据库交流 → ADO查询中的引号问题


  共有2801人关注过本帖树形打印

主题:ADO查询中的引号问题

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


加好友 发短信 搭建爱好者
等级:爱好者 帖子:238 积分:1173 威望:1 精华:0 注册:2006-12-28 10:22:07
ADO查询中的引号问题  发帖心情 Post By:2007-3-19 19:11:42

我现在正做的一个数据管理系统,前段时间测试都完全正常,今天偶然出现了错误。经仔细检查发现,是ADO查询语句中单引号和双引号的问题。该SQL语句类似于如下格式:

错误的语句:{select * from 销售日报 where 备注信息 like '% ' %'}

{select * from 销售日报 where 备注信息 like "% " %"}

问题就在<备注信息>中的条件值部分。如果输入的条件值中含有单引号',错误出现;如果把这个语句中的单引号改成双引号,则没问题。下面就是正确的语句,可以正常执行:

{select * from 销售日报 where 备注信息 like '% " %'}

{select * from 销售日报 where 备注信息 like "% ' %"}

由于我设计的系统中,允许用户输入<备注信息>中的任意关键字进行检索查询,就是说,用户很有可能就输入一个单引号或者双引号,请问我这个SQL查询语句该怎样写?


支持(0中立(0反对(0单帖管理 | 引用 | 回复 回到顶部
帅哥哟,离线,有人找我吗?
reachtone
  2楼 个性首页 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信 搭建爱好者
等级:爱好者 帖子:238 积分:1173 威望:1 精华:0 注册:2006-12-28 10:22:07
  发帖心情 Post By:2007-3-20 9:13:52

选择查询构件中也存在这样的问题:


此主题相关图片如下:
按此在新窗口浏览图片

建议管理员完善一下,要么解决此问题,要么限制单引号或双引号作为查询条件。


支持(0中立(0反对(0单帖管理 | 引用 | 回复 回到顶部
帅哥哟,离线,有人找我吗?
admin
  3楼 个性首页 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信 搭建官方
等级:管理员 帖子:5504 积分:20561 威望:9 精华:5 注册:2002-4-5 17:08:42
  发帖心情 Post By:2007-3-20 10:28:08

实际上,你在第一楼已经讲解的很明白了,这是SQL语法的问题。在SQL语言中“单引号(')”和“双引号(")”,在条件语句(where)中查询字符串变量的时,需要用单引号或双引号,括起来。

如::{select * from 销售日报 where 备注信息 like '% ' %'}

你的本意是,查询备注信息中,包含“'”的信息;但是,第二个单引号,与第一个单引号,已经形成了SQL语句,而第三个单引号,成了孤号,你的SQL语法当然出错了。每一个语言都有语法和关键字之分,不能不照顾 语法和关键字,而随意应用。这个问题与搭建之星无关。



支持(0中立(0反对(0单帖管理 | 引用 | 回复 回到顶部

返回版面帖子列表

ADO查询中的引号问题








签名