引号中的引号如何表示?Query1.SQL.ADD('带单引号的SQL语句'),带单引号的SQL语句如:select * from where date= '时

  • 主题发起人 主题发起人 于小澜
  • 开始时间 开始时间

于小澜

Unregistered / Unconfirmed
GUEST, unregistred user!
引号中的引号如何表示?Query1.SQL.ADD('带单引号的SQL语句'),带单引号的SQL语句如:select * from where date= '时间'(SQL Server数据库)(68分)<br />
 
连续两个当引号表示,如:
Query1.Sql.Add('select * from where date=' '时间''')
 
很简单,在字符串里加',只要记住两个'表示一个'就可以了,
故上面的语句可以这样来实现:
query1.add('select * from table1 where date=''2000-9-2'' ');
 
' ' 表示一字符
''''表示单'
 
在 Delphi 中,要引用一个 单引号('),用连续四个单引号('''').
 
就是他们说的那样,没错!
 
唉,都给他们说了,没分啦!
 
涉及时间最好用参数
select * from table1 where date=:var
再query1.params[0].value:=now;
 
dedman说的没错,最好用参数
这是因为BDE、ADO等在把字符串翻译成日期型数据时,对于不同的数据库可能不同
造成出错
 
不说了,再说用被认为是抄袭!唉....
 
等我明天试一下再答复各位
 
>>yck
日期常量查询应该是query1.add('select * from table1 where date=''12/2/2000'' ');吧
 
给你一个例子,
‘select * from biolife where fname like '''+edtitems.text+'%''';
就是:
select * from biolife where fname like 'X%'
我试过。
 
考两段给你看看啦!
sql.add('select a.KEY key,sum(b.fee) fee'+
' from std.yellow_page_ad_ht a,std.yellow_page_ad_ad b' +
' where b.ht_no=a.ht_no(+) and b.hb_no||b.hb_no2=''2000'+s+''''+
' and a.key<>''0000000000'' and b.fee<>0 '+
' group by a.key'+
' order by fee');
qry6.SQL.Add('select hb_no||hb_no2||hb_no3 hb,count(*) count,sum(fee) fee'+
' from std.yellow_page_ad_ad '+
' where (substr(tel,1,1)<>''0'' or substr(tel,1,3)=''021'' or tel is null)'+
' and substr(dept,1,4)<>''5060'''+
' and hb_no='''+t+''' and adv_type in (''31'',''32'',''33'',''34'',''35'',''36'')'+
' and hb_no2 in ('+s+')'+
' group by hb_no||hb_no2||hb_no3');
明白啦吗?
 
太多'''看著頭暈時﹐也可以試試 #39表示﹐如果想在SQL SERVER 中查一個用冒號
括起來的字段﹐可以用char(39)表示
 
var
mStr:String;
mStr:='select * from table_name where date='+quotedstr(時間);
query1.sql.clear;
query1.sql.add(mStr);
Note: An example
mStr:='select * from order where date='+quotedstr('2000-09-04');
在使用多個Edit控件向表存數據時﹐這種寫法很好 如﹕
mStr:='insert into order (field1,field2,field3,field4) '
+'values('+quotedstr(edit1.text)+quotedstr(edit2.text)
+quotedstr(edit3.text)+quotedstr(edit4.text)+')';
query1.sql.clear;
query1.sql.add(mStr);
query1.execsql; (此處四個字段都為字符型)
請注意﹕如果不用mStr而直接賦給query1.sql則會發生錯誤,知道原因嗎?因為
quotedstr是Delphi的函數,不是數據庫管理系統的函數

上面有兩個人寫成:query1.add,請問是query1.sql.add還是query1.add ?
 
Query1.sql.add(' Select * from Country where Name="Chile" ');
注意Chile两边是双引号
 
其实全用单引号,或者里面用双引号 ,外面用单引号都行!
 
快结束吧,别忘了给我一点分
 

Similar threads

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