两单引号的故事 ( 积分: 100 )

  • 主题发起人 主题发起人 dongy_143
  • 开始时间 开始时间
D

dongy_143

Unregistered / Unconfirmed
GUEST, unregistred user!
如果我想往数据库中插入两个单引号的话,SQL怎么写;
比如:
s:='你好';
str:=''''+s+'''';
sql.text:=insert into table(id,content) value('+'''+inttostr(0)+''''+','+''''+str+''''+')';
目的是插入到数据库中后看到的结果是:'你好'
如果SQL是这样的话不行,会报错:sql.text:=insert into table('0',''你好'',);
有知道的说一下
 
把SQL写出来
 
INSERT INTO Demo VALUES('0''''');
 
你测试这样的语句试试看。
sql.text:=insert into table(id,content) value('+inttostr(0)+','+''''''+str+''''''+')';
 
不行的,麻烦再看一下
 
用params参数看看
 
还有人帮忙看下?
 
生成的sql语句应该是这样才对,
sql.text:=insert into table(0,'''你好''')
三个单引号,这样你写入数据库的时候,会变成'你好'
 
.........就是转译啊 在delphi里'表示字符串的开始和结束,如果想在字符串里带有一个'就需要用''来表示,比如:
var
s:string;
begin
s:='''';
showmessage(s);
end;
这样你会看到一个'

对于sql,你如果要插入2个单引号就需要用''''''来表示,或者用'"'来表示
 
INSERT INTO StrData
(v)
VALUES ('''dd''')
 
楼上正解
 
http://www.delphibbs.com/keylife/iblog_show.asp?xid=4212
 
同意楼上
还有一个方法
#39+Str+#39
用ASCII码的
 
单引号在SQL语句里是 ''''
 
多人接受答案了。
 

Similar threads

D
回复
0
查看
2K
DelphiTeacher的专栏
D
D
回复
0
查看
1K
DelphiTeacher的专栏
D
D
回复
0
查看
1K
DelphiTeacher的专栏
D
S
回复
0
查看
3K
SUNSTONE的Delphi笔记
S
S
回复
0
查看
2K
SUNSTONE的Delphi笔记
S
后退
顶部