delphi sql.add语言中的引号怎么用??

我是个初学都,在使用sql.add语句中,比如说'sdlect*formaaawhere姓名='+xm+and性别=性别变量,,这里面的变量,需要用引号,可是我怎么也用不... 我是个初学都,在使用sql.add语句中,比如说'sdlect *form aaa where 姓名='+xm+and 性别=性别变量,,这里面的变量,需要用引号,可是我怎么也用不对,请哪位大师给举个例子说明一下,谢谢 展开
 我来答
FoolRabbit编程
2013-05-08 · 知道合伙人数码行家
FoolRabbit编程
知道合伙人数码行家
采纳数:619 获赞数:3806
毕业于苏州大学,4年编程经验,对WPF有研究。

向TA提问 私信TA
展开全部

标准的语法应该使用转义字符,delphi的转义字符为单引号(’)

如果查询字符型字段,就需要加单引号(‘),再加上转义,就用两个单引号(’)

示例语句如下:

sSql:='select * form aaa where 姓名='''+xm+''' and 性别='''+xb+'''';
追问
你说的运行通不过,谢谢,我还是没弄明白,这些引号怎么用,什么时候用一个,什么时候用两个,什么时候用一堆,谢谢。
追答
字符串拼接时候本身需要单引号(')
假如sql语句需要用到单引号,那么就要用两个单引号('),第一个是转义,第二个是需要的单引号。
用到4个就是这个道理,字符串拼接的首位两个,sql需要一个,转义一个,一共四个
本回答被网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
robbertyjh
2013-05-08 · TA获得超过170个赞
知道小有建树答主
回答量:252
采纳率:0%
帮助的人:224万
展开全部
对文本字段用双引号,数值字段则可直接用
例:
ADOQuery1.Close;
ADOQuery1.SQL.Text:='select * from aaa where 姓名="'+xm+"' and 性别="+xb+"';
ADOQuery1.Open;
追问
能解释一下,为什么有的地方是两个,有地方是三个,有的地方是一个吗??
追答
不是三个 是双引号和单引号
单引号是把字符串引起来
而SQL语句中字段值如果是字符型的需要用双引号引起来就行了
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
zyjying520
2013-05-07 · TA获得超过225个赞
知道小有建树答主
回答量:436
采纳率:100%
帮助的人:373万
展开全部
两个单引号 ' 组成一个 '' 就可以了
原因是因为delphi字符串为 ' 引号,以所再加一个就是了,例如
SQL = 'SELECT * FROM TABLE WHERE name=''张三''';
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
果断工作往前走
2020-03-12
知道答主
回答量:39
采纳率:0%
帮助的人:3.5万
展开全部
不要搞的这么复杂,SQL命令中如果要使用“单引号”,就直接使用函数CHR(39)代替,使用“%”就使用CHR(37),如此而已,虽然要打的字多,但是非常好理解!
什么多个“单引号”啊什么的!常常把初学者搞蒙!!!
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
这个实在些
2013-05-07 · TA获得超过552个赞
知道小有建树答主
回答量:763
采纳率:0%
帮助的人:637万
展开全部
sql.add(format('sdlect * form aaa where 姓名=%d and 性别=''%d''',[xm,性别变量]));
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(3)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式