首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > .NET > .NET >

sql 语句中between and 查询, 时间参数怎么传递

2012-03-09 
sql 语句中between and 查询, 时间参数如何传递?vardate1,date2:TDateTime……Date1 : EncodeDate(year, m

sql 语句中between and 查询, 时间参数如何传递?
var date1,date2:TDateTime;
……
  Date1 := EncodeDate(year, month, 1);
  Date2 := EncodeDate(year, month, 31);
  query.SQL.Add('select * from sxdj where sxsj between date1 and date2');
这样为什么不可以?
然后我试了一下这种
  query.SQL.Add('select * from sxdj where sxsj between :date1 and :date2);
  parameters.parambyname('date1).value:=EncodeDate(year, month, 1);
  parameters.parambyname('date2').value:=EncodeDate(year, month, 31);
error :object or class type required
  missing operator or semicolon

求指点啊,谢谢谢谢

[解决办法]
'between '+QuotedStr(FormatDateTime('yyyy-mm-dd',date1))+ ' and '

如果是access就不用QuotedStr了,要加上 # 修饰
[解决办法]
access吧,日期2边要加上#
[解决办法]
自己看,access数据库
procedure TForm3.TeButton1Click(Sender: TObject);
var
b,e:TDate;
begin
b:=DateTimePicker1.Date;
e:=DateTimePicker2.Date;
ADODataSet1.Close;
ADODataSet1.CommandText := 'SELECT * FROM [表名] WHERE [日期] BETWEEN #'+DateToStr(B)+'# AND #'+DateToStr(E)+'# ORDER BY [日期]';
ADODataSet1.Open;

end;

热点排行