关于分号的问题(30分)

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

delphiandoracle

Unregistered / Unconfirmed
GUEST, unregistred user!
'select * from DBA_TABLES where OWNER='''+cmbuser.text+''''
我的问题是在一个tquery中为什么要这样用,新手,请多多指教
 
delphi语法中 '字符的表示是要通过前面再加一个'来实现的,
如果你不家的话那执行时你的语句是
select * from DBA_TABLES where OWNER=cmbuser//假如cmbuser.edit=cmbuser
加了以后为
select * from DBA_TABLES where OWNER='cmbuser'
那个正确一看就知道了吧
 
引号的使用比较麻烦,没办法

多看点语法书吧
 
在Pascal字符串中''表示',所以上述的SQL语句最终形式为
select * from DBA_TABLES where OWNER='...'
(其中的...为cmbuser.text的值)
另外,还需要对cmbuser.text的值进行处理,使之适合SQL语法,例如,
'(单引号)转换为''(两个单引号)等等
 
最简单的方法,写成这样
'select * from DBA_TABLES where OWNER='+quotedstr(cmbuser.text);
只要在要加引号的字符串加quotedstr()即可
呵呵,可以结束了。
 
谢谢各位的指教。
 
如果想看清楚点你可以用#39啊。
 
其实用引号的方式可以省写不少代码,且我认为检查错误起来也较方便,当然前提要你写的代码规范些
 
多人接受答案了。
 
后退
顶部