请问如何将'好写在一个字符串内?(200分)

H

htz

Unregistered / Unconfirmed
GUEST, unregistred user!
我要写一个字符串,里面包含'号,我该怎么办!
比如:
query1.sql.add('select id,姓名,性别,入院时间,
datepart(yyyy,getdate())-datepart(yyyy,出生年月) as 年龄,
糖尿病分型,住院号 from 基本信息表
where RIGHT(str(datepart(yyyy,入院时间)),4)+'年'+
right(str(datepart(m,入院时间)),2)+'月'='1999年 8月')
这该怎么写?
 
'''' 才相当于一个 '
 
''' 相当于一个 '
 
具体应该怎么写?
 
''''表示一个包含'的字符串
中间那两个''表示一个
 
''' 相当于一个 '
这个不行呀!
 
wjiachun &
热血 are right!
'''' - ok!
 
'abc'#39'def'
 
在Delphi中两个'等于一个',想给str赋值'abc',要这样写:str:=''abc'',明白了吗?
你的语句建议这样写:
SQL:=''select id,姓名,性别,入院时间,datepart(yyyy,getdate())-datepart(yyyy,出生年月) as 年龄,糖尿病分型,住院号 from 基本信息表
where 入院时间='''+StrToDateTime('1999年8月')+'''';
query1.sql.add(SQL);
 
SQL.TEXT:=
'query1.sql.add( '' select id,姓名,性别,入院时间, '+
' datepart(yyyy,getdate())-datepart(yyyy,出生年月) as 年龄, '+
' 糖尿病分型,住院号 from 基本信息表 '+
' where RIGHT(str(datepart(yyyy,入院时间)),4)+''年''+ '+
' right(str(datepart(m,入院时间)),2) + ''月''= ''1999年 8月'') ';
 
如果在句中插入一个',可以用''表示,一个等于两个;
如果需要在整个句子前后加',可以用QuotedStr函数,在动态产生带
前后引号的时候很方便。
 
还没有明白吗?
如果要把 ABCD'EFG 赋给变量 S ,就像下面一样写:
S := 'ABCD<font color = #ff0000><strong>''</font></strong>EFG' ;
 
在SQL语句中,若插入的字符串要加上单引号,就多加一个单引号就行了。
如:that's 改为 that''s。
 
你可以将'(单引号)和"(双引号)在SQL语句中交替使用。如:
SQL := 'Select * from tab_member where id = "1234"';
 
在两个单引号之间的'',相当于一个'。
例如: S:='''';
则 S 的内容为 '
请看下句,
SQLstr:='Select * from '+TableName+' WHERE word like '''+S+''''
^^ ^^
假设 TableName:='Table1';
S:='abc';
则 变量SQLstr的内容为:Select * from Table1 WHERE word like 'abc'
下一句
S:='Select * from table1 WHERE word like ''Something'' order by ID'
^^ ^^
则将变量S的内容置为:Select * from table1 WHERE word like 'Something' order by ID

如果还有什么不清楚,自己编个小程序试试就行了
 
谢谢大家!
 

Similar threads

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