SQL语句中显示不出单引号怎么办?(100分)

  • 主题发起人 主题发起人 hhwang
  • 开始时间 开始时间
H

hhwang

Unregistered / Unconfirmed
GUEST, unregistred user!
sql语句如下,fdm.tbl与一foxpro表关联,下面的sql语句对于源表中的一部分记录成功执行,
另外一些记录失败,执行前showmessage(str)看到的结果有一个字符类型字段只有一边单
引号,不知为何?
str:='insert into ['+t_name+'] values(' ;
for i:=0 to fdm.tbl.Fields.Count-2 do
if fdm.tbl.Fields.asstring<>'' then str:=str+''''+trim(fdm.tbl.Fields.text)+''','
else str:=str+'NULL,' ;
if fdm.tbl.Fields[fdm.tbl.Fields.Count-1].asstring<>'' then str:=str+''''+fdm.tbl.Fields[fdm.tbl.Fields.Count-1].asstring+''')'
else str:=str+'NULL)' ;

 
将{str:=str+''''+trim(fdm.tbl.Fields.text)+''','}
改为如下再试,但我不知为何
Begin
str:=str+'''';
str:=str+trim(fdm.tbl.Fields.text);
str:=str+''','
End;



 
问题依旧,取到第31条记录的一个字段时,str的值是
insert into [S3529h00] values(...............,'XXXXX,.............)
其中字符串xxxxx后面的单引号无论如何出不来,wuwu...
 
可能该记录第31列的最后的字符大于127(0x7f),所以和后面的'合并不能显示。

你为什么不用 insert into table1 select * from table2 命令呢
 
why not use batmove?
 
搞定,我在 trim(fdm.tbl.Fields.Asstring后面再加上空格就好了
{trim(fdm.tbl.Fields.asstring+' '},也不知为什么,感谢Pipi,
doerbon,billst,分别35,35,30..................................
 
多人接受答案了。
 

Similar threads

S
回复
0
查看
3K
SUNSTONE的Delphi笔记
S
S
回复
0
查看
2K
SUNSTONE的Delphi笔记
S
后退
顶部