引号配对,看不懂

littlevoice 2003-09-29 03:31:17
.......
var
filterstr:string;
begin
Query_FWDCX.Close;
Query_FWDCX.SQL.Clear;
filterstr :='';
//if CheckBox3.Checked then
filterstr :=filterstr + ' and KX.FJH=''' + fjharr[ComboBox1.itemindex] + '''';
if CheckBox1.Checked then
filterstr := filterstr + ' and KX.MC like ''%' + Edit1.Text + '%''';
if CheckBox2.Checked then
filterstr := filterstr + ' and FWD.XSDMC like ''%' + Edit2.Text + '%''';//这三句中的引号不懂怎么配对,到底哪些才是字符串中的内容,意思也不太明白;
还有RES_FNKG_INFO 表不是到底下这句才起KS的别名吗?上面这三句怎么知道KS指的就是RES_FNKG_INFO ??
Query_FWDCX.sql.Text := 'select FWD.*,KX.MC as KXMC from RES_FNKG_INFO KX,XS_FWD FWD where FWD.ID=KX.ID ' + filterstr;
Query_FWDCX.Open;
......

...全文
66 11 打赏 收藏 转发到动态 举报
写回复
用AI写文章
11 条回复
切换为时间正序
请发表友善的回复…
发表回复
sy_315 2003-10-08
  • 打赏
  • 举报
回复
昏~
Shiyl 2003-10-07
  • 打赏
  • 举报
回复
谁写的代码?
filterstr :='';
这句完全可以不要
ghostmaster 2003-10-07
  • 打赏
  • 举报
回复
还不是很清楚~~~:(
S.F. 2003-09-30
  • 打赏
  • 举报
回复
单引号内码好象是 #39,我不记得了,以前写dos 程序经常记这玩意。
S.F. 2003-09-30
  • 打赏
  • 举报
回复
由于单引号就是字符串头和尾的特殊字符,比如'1234',这个字符串内容就是1234,如果你要保存的内容是 123'4 的话,你写成 '123'4' 这样肯定是错的,因为编译器识别到3后就发现了单引号,而认为你的语句未完。但是这样 '123''4' 这样就对了。你也可以写为 '123' + #34 + '4' ,用ascii 内码来组合。

两个单引号在字符串声明中表示为一个,而SQL 也是用单引号,所以,你会看到经常出现大量的单引号
tulippopo 2003-09-30
  • 打赏
  • 举报
回复
str:='select * from table1 where RecID= '+ format ('''%S''',[VarNmae]);
这样可以看的明白点吧!
dickeybird888 2003-09-30
  • 打赏
  • 举报
回复
哈哈
IORILI 2003-09-30
  • 打赏
  • 举报
回复
delphi里面,假如把字符串转到sql里面,而这个字符串有'的话,那么要用''表示
billy_zh 2003-09-30
  • 打赏
  • 举报
回复
用 QuotedStr(str) 可以为str加上引号,
字符串内有引号都可以。
tong_jin 2003-09-29
  • 打赏
  • 举报
回复
str:='select * from table1 where RecID='''+Edit1.Text+'''';
把它改成下面的比较好看懂.
str:='select * from table1 where RecID='+char(39)+Edit1.Text+char(39);

char(39)就表示一个单引号
guanghui 2003-09-29
  • 打赏
  • 举报
回复
是这样的,DELPHI中字符串是以'开头、结尾,我们在DELPHI中写SQL语句的时候,如果SQL语句中需要出现一个'号,我们就要在字符串中连接输入两个''代替,这时就会出现多个引号归属的现象;

拿这句:
select * from table1 where RecID='cust1'
来说:
在DELPHI中就有
sqlStr:='select * from table1 where RecID='''+Edit1.Text+'''';
其中:RecID='''前面两个'号构成了一个SQL中的'号,第三个则是字符串的结尾;
而看最上面的select * from table1 where RecID='cust1'最后,还需要一个'号,这时就得
通过字符串中补加引号来追加上来;
所以就有了后面的: +'''';

2,496

社区成员

发帖
与我相关
我的任务
社区描述
Delphi 数据库相关
社区管理员
  • 数据库相关社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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