一条sql语句问题???(50分)

  • 主题发起人 主题发起人 yy-xx-pp
  • 开始时间 开始时间
Y

yy-xx-pp

Unregistered / Unconfirmed
GUEST, unregistred user!
在query1的sql中用select * from B where x between :x(注明:‘x’存放字符型的日期),
然后我在form中的两个edit的text中存放开始日期和结束日期(如1970和1990),
在程序中:query1.parambyname('x').asstring:=edit1.text+' and '+edit2.text;
query1.open;
结果老是提示‘unexpected end of commond’错误,我查了query1.sql.text的内容,
觉得都没错误,问题在哪里?
 
select * from B where x between :x and :y
//-----
query1.parambyname('x').asstring:=edit1.text;
query1.parambyname('y').asstring:=edit2.text;
//---
//ok
Give me scores!!!
 
query1.parambyname('x').asstring:='convert(datetime,'''+edit1.text+''') and convert(datetime,'''+edit2.text+''')';
 
你用什么数据库
1。access or paradox
format('select * from B where x between ''%s'' and ''%s''',
[formatdatetime('mm/dd/yyyy',StartDate)
,formatdatetime('mm/dd/yyyy',FinishDate)]));

2.oracle
format('select * from B where x between to_date(''yyyy-mm-dd'',''%s'')
and to_date(''yyyy-mm-dd'',''%s'')',
[StartDate,FinishDate]));
 
可以用cocia的方法,也可用下面的代码:
select * from B where x between '''+edit1.text+''' and '''+edit2.text+'''
 
多人接受答案,分数已经给!
 
多人接受答案了。
 

Similar threads

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