昨天我问过同样的问题,后来解决了,你可以参考一下如下的例子, 使用的DB为SQL Server 2k,在查询分析器中 use northwind select * from orders where shippeddate between '1996-08-06' and '1996-08-30'
变量值查询,在sql中应以“:”开头;然后赋值: adoqurey1.close; adoquery1.sql.clear; adoquery1.sql.add(' select * from 表名 where 字段名(datetime格式) between :RQ1 and :RQ2'); adoquery1.Parameters.ParamByName('rq1').Value :=date; adoquery1.Parameters.ParamByName('rq2').Value :=date; adoquery1.open;
'select * from 表名 where 字段名(datetime格式) between '+'''' + RQ1 +''''+ ' and ' + '''' + RQ2 + ''''
adoqurey1.close; adoquery1.sql.clear; adoquery1.sql.add('select * from 表名 where 字段名(datetime格式) between '+'''' + RQ1 +''''+ ' and ' + '''' + RQ2 + '''' ); adoquery1.open;
'select * from 表名 where 字段名(datetime格式) between '+quotedStr(RQ1) 'and' + quotedStr(RQ2)'
譬如;如果数据库中的字段不包括时,分,秒;那么Rq1,和rq2则必须定义成date格式;
使用的DB为SQL Server 2k,在查询分析器中
use northwind
select * from orders where shippeddate between '1996-08-06' and '1996-08-30'
adoqurey1.close;
adoquery1.sql.clear;
adoquery1.sql.add(' select * from 表名 where 字段名(datetime格式)
between :RQ1 and :RQ2');
adoquery1.Parameters.ParamByName('rq1').Value :=date;
adoquery1.Parameters.ParamByName('rq2').Value :=date;
adoquery1.open;
+ RQ1 +''''+ ' and ' + '''' + RQ2 + ''''
adoquery1.sql.clear;
adoquery1.sql.add('select * from 表名 where 字段名(datetime格式) between '+''''
+ RQ1 +''''+ ' and ' + '''' + RQ2 + '''' );
adoquery1.open;
'and' + quotedStr(RQ2)'