delphi sql.add语言中的引号怎么用??
我是个初学都,在使用sql.add语句中,比如说'sdlect*formaaawhere姓名='+xm+and性别=性别变量,,这里面的变量,需要用引号,可是我怎么也用不...
我是个初学都,在使用sql.add语句中,比如说'sdlect *form aaa where 姓名='+xm+and 性别=性别变量,,这里面的变量,需要用引号,可是我怎么也用不对,请哪位大师给举个例子说明一下,谢谢
展开
5个回答
2013-05-08 · 知道合伙人数码行家
关注
展开全部
标准的语法应该使用转义字符,delphi的转义字符为单引号(’)
如果查询字符型字段,就需要加单引号(‘),再加上转义,就用两个单引号(’)
示例语句如下:
sSql:='select * form aaa where 姓名='''+xm+''' and 性别='''+xb+'''';
追问
你说的运行通不过,谢谢,我还是没弄明白,这些引号怎么用,什么时候用一个,什么时候用两个,什么时候用一堆,谢谢。
追答
字符串拼接时候本身需要单引号(')
假如sql语句需要用到单引号,那么就要用两个单引号('),第一个是转义,第二个是需要的单引号。
用到4个就是这个道理,字符串拼接的首位两个,sql需要一个,转义一个,一共四个
本回答被网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
对文本字段用双引号,数值字段则可直接用
例:
ADOQuery1.Close;
ADOQuery1.SQL.Text:='select * from aaa where 姓名="'+xm+"' and 性别="+xb+"';
ADOQuery1.Open;
例:
ADOQuery1.Close;
ADOQuery1.SQL.Text:='select * from aaa where 姓名="'+xm+"' and 性别="+xb+"';
ADOQuery1.Open;
追问
能解释一下,为什么有的地方是两个,有地方是三个,有的地方是一个吗??
追答
不是三个 是双引号和单引号
单引号是把字符串引起来
而SQL语句中字段值如果是字符型的需要用双引号引起来就行了
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
两个单引号 ' 组成一个 '' 就可以了
原因是因为delphi字符串为 ' 引号,以所再加一个就是了,例如
SQL = 'SELECT * FROM TABLE WHERE name=''张三''';
原因是因为delphi字符串为 ' 引号,以所再加一个就是了,例如
SQL = 'SELECT * FROM TABLE WHERE name=''张三''';
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
不要搞的这么复杂,SQL命令中如果要使用“单引号”,就直接使用函数CHR(39)代替,使用“%”就使用CHR(37),如此而已,虽然要打的字多,但是非常好理解!
什么多个“单引号”啊什么的!常常把初学者搞蒙!!!
什么多个“单引号”啊什么的!常常把初学者搞蒙!!!
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
sql.add(format('sdlect * form aaa where 姓名=%d and 性别=''%d''',[xm,性别变量]));
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询