我要查询时间在某个范围内的记录,老是提示类型不匹配,
我的查询语句是这么写的,
SQLStr:='Select bill_id,bill_date from bill where bill_state=0';
SQLStr:=SQLStr+' and bill_date>='''+DateToStr(i_start_date.date)+' and bill_date<='''+DateToStr(i_end_date.date)+'''';
Q_search.text:=SQLStr;
Q_search.open;
其中i_start_date和i_end_date是两个DateTimePicker控件,
我的查询语句是这么写的,
SQLStr:='Select bill_id,bill_date from bill where bill_state=0';
SQLStr:=SQLStr+' and bill_date>='''+DateToStr(i_start_date.date)+' and bill_date<='''+DateToStr(i_end_date.date)+'''';
Q_search.text:=SQLStr;
Q_search.open;
其中i_start_date和i_end_date是两个DateTimePicker控件,
DateToStr(i_end_date.date)一样换
把DateToStr(i_start_date.date)换为formatdatetime('mm/dd/yyyy',i_start_date.date)
DateToStr(i_end_date.date)一样换
SQLStr:=SQLStr+' and bill_date>='''+DateToStr(i_start_date.date)+''' and bill_date<='''+DateToStr(i_end_date.date)+''''
var l_i_start_date,l_i_end_date:string;
.....
l_i_start_date:=datetostr(i_start_date.date);
l_i_end_date:=DateToStr(i_end_date.date);
sqlstr:=SQLStr+' and bill_date>='''+l_i_start_date+' and bill_date<='''+l_i_end_date+'''';
如果是access应该:
SQLStr:='Select bill_id,bill_date from bill where bill_state=0';
SQLStr:=SQLStr+' and bill_date>=#'+DateToStr(i_start_date.date)+'# and bill_date<=#'+DateToStr(i_end_date.date)+'#';
Q_search.text:=SQLStr;
Q_search.open;
如果sql server
SQLStr:='Select bill_id,bill_date from bill where bill_state=0';
SQLStr:=SQLStr+' and bill_date>='''+DateToStr(i_start_date.date)+''' and bill_date<='''+DateToStr(i_end_date.date)+'''';
Q_search.text:=SQLStr;
Q_search.open;
ADOQ1.SQL.Clear;
ADOQ1.SQL.add('Select bill_id,bill_date from bill where (bill_state=0) and (bill_date>=:date1)and(bill_date <=:date2)');
ADOQ1.Parameters.ParamValues['date1']:='#'+datestr1+'#';
ADOQ1.Parameters.ParamValues['date2']:='#'+datestr2+'#';
ADOQ1.Open;
adoq1是一个查询组件