我使用下面的SQL语句,用BDE中的query1中可以通过,一但换成ADO中的Adoquery1就出错了,不知道是什么原因,请指教!
Adoquery1.close;
Adoquery1.sql.clear;
Adoquery1.sql.add(' where (datea>=:g1 and datea<=:g2) ');
Adoquery1.params[0].asdate:=DateTimePicker1.date;//就是这句出错
Adoquery1.params[1].asdate:=DateTimePicker2.date;
Adoquery1.open
Adoquery1.close;
Adoquery1.sql.clear;
Adoquery1.sql.add(' where (datea>=:g1 and datea<=:g2) ');
Adoquery1.params[0].asdate:=DateTimePicker1.date;//就是这句出错
Adoquery1.params[1].asdate:=DateTimePicker2.date;
Adoquery1.open
Adoquery1.sql.clear;
Adoquery1.sql.add(' where (datea>=g1 and datea<=g2) ');
Adoquery1.params[0].asdate:=DateTimePicker1.date;//就是这句出错
Adoquery1.params[1].asdate:=DateTimePicker2.date;
Adoquery1.open
要把日期型转换成字符型
Adoquery1.params[0.asstring:=datetostr(DateTimePicker1.date);//就是这句出错
Adoquery1.params[1].asstring:=datetostr(DateTimePicker2.date);
试试! Adoquery1.close;
Adoquery1.sql.clear;
Adoquery1.sql.add('select * from 表名 where datea>=‘+#39+datetostr(DateTimePicker1.date)+#39’;//and datea<=‘+#39+datetostr(DateTimePicker2.date)+#39’');
Adoquery1.open//不用参数,用这个语句肯定能查出来了
Adoquery1.sql.clear;
Adoquery1.sql.add(' where (datea>=:g1 and datea<=:g2) ');
Adoquery1.params[0].value:=DateTimePicker1.date;
Adoquery1.params[1].value:=DateTimePicker2.date;
Adoquery1.open;
>>>>改成Adoquery1.params[0].Value不用转化的