各位高手帮帮忙,特急。在线等 !时间段查询出了问题(100分)

  • 主题发起人 主题发起人 爱睡的狗狗
  • 开始时间 开始时间

爱睡的狗狗

Unregistered / Unconfirmed
GUEST, unregistred user!
各位 高手 ,我在做一个分页显示,!时间段是查询条件之一,到显示下一页时,程序总是不能通过,这是代码,帮我看看那里有问题,谢谢!!
if ComboBox_Chooseip.enabled then //如果ComboBox_chooseip控件可用
begin
if pagecount=endpage then //判断是否为最后一页,如果是则显示提示信息'已经是最后一页了!'
begin
ShowMessage('已经是最后一页了!');
exit;
end
else //如果不是则页数加1
inc(Pagecount,1);
Edit_pagenumshow.Text:=inttostr(pagecount); //文本框中显示页数
getvalue:=trim(ipedit_inputip.IPString); //接收输入的ip地址
begin
with Query1 do begin
Close;
SQL.Clear;
SQL.Add('select top '+inttostr(per_page_count)+' t.id,t.ip,t.mac,t.webip,t.actime,t.url,t.title,t.useragent from '+table+' t where t.id not in(select top '+inttostr((Pagecount-1)*per_page_count)+' t.id from '+table+' t where t.ip='''+getvalue+''' and t.actime>=:firstdatetime and t.actime<=:seconddatetime ) and t.ip='''+getvalue+''' and t.actime>=:firstdatetime and t.actime<=:seconddatetime ');
query1.Parameters.ParamByName('firstdatetime').Value := dtpDate1.Date + dtpTime1.Time;
query1.Parameters.ParamByName('seconddatetime').Value := dtpDate2.Date + dtpTime2.Time;
open;
dbgrid1.DataSource:=datasource1;
end;
end;
end;
其中t.actime是时间日期型字段
 
这是错误提示信息:
Project Project1.exe raised exception class EOleException with message 'Parameter object is improperly defined. Inconsistent or incomplete information was provided'
 
太专业了
 
datetostr(dtpDate1.Date) + ' ' + timetostr(dtpTime1.Time);
 
这样试试,
query1.Parameters.ParamByName('firstdatetime').Value :=
strtodatetime(formatdatetime('yyyy-mm-dd', dtpDate1.Date) +' '+formatdatetime('hh:mm:ss', dtpTime1.Time));
 
to zywcd 现在是不报错了,可是没有结果显示。这是为什么
 
你可以分开调试,在sql查询分析器这样执行,
首先看这一段
(select top '+inttostr((Pagecount-1)*per_page_count)+' t.id from '+table+' t where t.ip='''+getvalue+''' and t.actime>=:firstdatetime and t.actime<=:seconddatetime ) and t.ip='''+getvalue+''' and t.actime>=:firstdatetime and t.actime<=:seconddatetime ')
//好像括号都不对哈,
如果这一段返回数据不对,你当然不能分页,也不会有数据。
 
知道了 ,我试试。谢谢啊,成功了的话,必会重谢
 
没有心情,我正在被老板训呢。
我能说的就是代码风格差多了,给自己调试开发带来麻烦。。。
 
蓝蓝怎么了?
楼主是什么数据库!在搞什么?时间查询难吗?
 
实现的功能是分页显示,可是现在时间查询的参数不认
 
用sql profiler监视一下传到服务器的sql是什么样的.
 
什么是分页显示的查询?本人不太懂!
 
这段代码就是分页显示的‘下一页’按钮执行的功能。其中的参数有时间段需要从选中的ip地址中查出此地址在时间段内的相关信息
 
你的语句好象有点问题吧!?
我觉得方法应该很多吧!我没试,比如每页显示的记录数为8
1、
aa:=8*当前页号;
select top aa from xx
方法2、
用ADODataset有个MaxRecords:=8
方法3、
应该可以用
moveby((页号-1)*8)
这几种你试试吧!
 
是啊,就是有问题才问的
 
根本都不进行查询
 
用于分页部分代码返回数据吗?
 
1、
aa:=8*当前页号;
select top aa from xx order by 时间
方法2、
用ADODataset有个MaxRecords:=8
方法3、
应该可以用
moveby((页号-1)*8)

你试了没有呀?
 
后退
顶部