AdoQuery如何查找資料

sirliner 2003-08-22 04:18:05
AdoQuery中包含兩個字段:currCost(float 型),currDate(datetime 型).
在動態更新過程中,如何查找最新日期的currCost值.
...全文
67 7 打赏 收藏 转发到动态 举报
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
sirliner 2003-08-23
  • 打赏
  • 举报
回复
我想到辦法了.
在AdoQuery的AfterPost和AfterDelete事件中,重新排序即可:
AdoQuery.sort:='CurrDate DESC';
謝謝大家.
hiflower 2003-08-22
  • 打赏
  • 举报
回复
with ADOQuery do
begin
Filter:='CurrDate>'+QuotedStr(DateToStr(0));
if FindLast then
showmessage(FieldValues['CurrCost']
end;
sirliner 2003-08-22
  • 打赏
  • 举报
回复
我的sql语句是这样的:
select Currcost from tablename order by currdate
打开时是可以把最新的记录放在最上.
可是在增新的过程中.adoquery在post后,会将新增的记录放在adoquery记录集的最后,这样变成是哪个是最新的变成不确定.因为新增的记录,它的currdate值不一定是最大的.有不想将adoquery close后再open.
能不能有象计算字段那样能够即时刷新的方法.
ihihonline 2003-08-22
  • 打赏
  • 举报
回复
if DataSet.Active then
DataSet.Active := False;
DataSet.SQL.Clear;
DataSet.SQL.Add('Select Curcost from ..where currdate = ''' + 时间类型变量 + '''');
Open;

注:DataSet为你要应用程序中对应的DataSet.

or
......
'Select Curcost from ..where order by currdate//按日期类型排xu,时间类型可以作为Float看待。
.......
newsofter 2003-08-22
  • 打赏
  • 举报
回复
直接max(currdate)
sirliner 2003-08-22
  • 打赏
  • 举报
回复
在另一個表OtherTable中有個字段,該字段的值必須為上面的currCost的值,該值對應的currDate 必須最大(即日期必須最新).
在增新修改currCost,currDate 值時,必須相應修改OtherTable中的值.
Adoquery中是否有查找某一字段最大值的方法.
Shiyl 2003-08-22
  • 打赏
  • 举报
回复
说的不明白讲详细点

2,496

社区成员

发帖
与我相关
我的任务
社区描述
Delphi 数据库相关
社区管理员
  • 数据库相关社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧