问SQL.ADD('select * from XXX Where 姓名=:“‘+Edit1.TXT+'”’)中加号等符号意思!(50分)

  • 主题发起人 主题发起人 金鹏飞
  • 开始时间 开始时间

金鹏飞

Unregistered / Unconfirmed
GUEST, unregistred user!
想求教SQL.ADD('select * from XXX Where 姓名=:“‘+Edit1.TXT+'”’)中加号
单引号,双引号的意思,用法。
 
一对单引号里面是SQL语句,加号是要引用外部变量时候进行SQL语句连接的,双引号我
很少用,估计和冒号配合,我一般这样写:
sql.add('select * from xx where 姓名='+'''+edit1.txt+''')
 
这是因为要“拼装”SQL语句之用。''之内的是字符串,用加号是将两个字符串相加生成
新的字符串。“”双引号是用来生成SQL语句中的字符串标识符的。因为SQL语句中字符串
的比较要用 str = 'LLL'的形式,而''在Delphi中是字符串的边界,因此这里就只能用
“”来转义了。
同样,VB中的字符串是用“”来结束的,那么,它的SQL语句就可能要写成
SQL.Add("Select * from XXX where name='" & Edit1.Text & "'")
 
TO bigmm:
sql.add('select * from xx where 姓名='+'''+edit1.txt+''')中'+'''+edit1.txt+'''
一句里的加号,单引号到底怎样成对括起来的?请详细指明。
 
哈哈,转义,说的好,教材里也应该这样写,容易理解
 
左右两个用作标识:指明中间的那个是字符。比如edit1.text='abc',那结果就是:
select * from xx where 姓名='abc'
你也可以这样用:
sql.add(' select * from xx where 姓名='+#39+edit1.text+#39)
#39表示的就是字符'
 
金鹏飞,'''在delphi中表示为字符串中的一个单引号,因为姓名字段是字符串,
假设edit1.text值为'张',那么语句中 姓名=张 非法,姓名='张' 合法
~~~~~~~~ ~~~~~~~~
 
多人接受答案了。
 
bigmm,正确
 
'"+edit1.text+"'中的''表示一个字符串,而"+edit1.text+"表示该串是不固定的,
其值等于edit1.text。
 

Similar threads

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