adoqQuery1.SQL.Clear ;
adoqQuery1.SQL.Add('SELECT ID FROM Sale WHERE (PID="'+strPID+'") AND (SaleDate=#'+datetostr(dtpDate.date)+'#) AND');
adoqQuery1.SQL.Add(' (BuyTime Between #'+Timetostr(dtpBuy.Time)+'# And #'+ Timetostr(dtpSale.Time) + '#) ');
adoqQuery1.Active := true;BuyTime字段为时间类型(长时间)
错误提示:Parameter对象被不正确的定义。提供了不一致或不完整的信息另外,adoqSale['BuyTime']=dtpBuy.Time时入库的格式还有日期,怎么样可以只入时间
adoqQuery1.SQL.Add('SELECT ID FROM Sale WHERE (PID="'+strPID+'") AND (SaleDate=#'+datetostr(dtpDate.date)+'#) AND');
adoqQuery1.SQL.Add(' (BuyTime Between #'+Timetostr(dtpBuy.Time)+'# And #'+ Timetostr(dtpSale.Time) + '#) ');
adoqQuery1.Active := true;BuyTime字段为时间类型(长时间)
错误提示:Parameter对象被不正确的定义。提供了不一致或不完整的信息另外,adoqSale['BuyTime']=dtpBuy.Time时入库的格式还有日期,怎么样可以只入时间
↑'''+strPID+'''
要用単引号...
adoqQuery1.SQL.Add('SELECT ID FROM Sale WHERE (PID = '+QuotedStr(strPID)+' AND (SaleDate = '+QuotedStr(datetostr(dtpDate.date))+' AND');
adoqQuery1.SQL.Add(' (BuyTime Between '+QuotedStr(Timetostr(dtpBuy.Time))+' And '+ QuotedStr(Timetostr(dtpSale.Time)) + ')) ');
adoqQuery1.Active := true;
试试
adoqQuery1.SQL.Clear ;
adoqQuery1.SQL.Add('SELECT ID FROM Sale WHERE (PID='''+strPID+''') AND (SaleDate='''+datetostr(dtpDate.date)+''') AND');
adoqQuery1.SQL.Add(' (BuyTime Between '''+Timetostr(dtpBuy.Time)+''' And '''+ Timetostr(dtpSale.Time) + ''') ');
adoqQuery1.open;看看行不行!
adoqSale['BuyTime']=dtpBuy.Time时入库的格式还有日期,怎么样可以只入时间
==========================================
你的dtpBuy是否为DateTimePicker?
要将DateTimePicker的Kind属性设为dtkTime;
adoqQuery1.close;
adoqQuery1.SQL.Clear ;
adoqQuery1.SQL.Add('SELECT ID FROM Sale WHERE (PID='''+strPID+''') AND (to_char(SaleDate,''yyyy-mm-dd'')=''' + formatdatetime('yyyy-mm-dd', dtpDate.date)+''') AND');
adoqQuery1.SQL.Add('(to_char(BuyTime,''yyyy-mm-dd''>'''+formatdatetime('yyyy-mm-dd', dtpBuy.Time)+''' And to_char(BuyTime,''yyyy-mm-dd''<'''+ formatdatetime('yyyy-mm-dd', dtpSale.Time) + ''') ');
adoqQuery1.Active := true;ORACLE的数据库!
adoqSale['BuyTime']=dtpBuy.Time
用的是access库,字段类型为长时间,结果入库的是日期加时间