关于Tquery的问题???

zsr 2000-07-07 08:29:00
Tquery 中为何不嫩不能使用refresh?如何刷新数据??
...全文
314 11 打赏 收藏 转发到动态 举报
写回复
用AI写文章
11 条回复
切换为时间正序
请发表友善的回复…
发表回复
hyp 2000-11-23
  • 打赏
  • 举报
回复
我从来没用成功过,据说refresh只对桌面数据库有用,SQL数据库不能用。
可以用query1.close;query1.open;和书签配合起来用。
spsun 2000-11-23
  • 打赏
  • 举报
回复
加一个自己动记数字段就OK啦。
qiuzhi 2000-07-25
  • 打赏
  • 举报
回复
To huliao:
如果这个表的有一个唯一索引,你就可以通过这个唯一索引对应的值来定位。
wsf 2000-07-25
  • 打赏
  • 举报
回复
刷新数据库的问题很普遍,我一般也是用close,再open;
如:with query do
begin
close;
sql.clear;
sql.add('select * from tablename');
open;
end;
放两个TQuery,一个显示结果如上,一个进行操作append,edit,del
zsr 2000-07-24
  • 打赏
  • 举报
回复
事实上,即使被查询的表有索引,refresh还是无效!!!
huliao 2000-07-24
  • 打赏
  • 举报
回复
一个由此产生的问题。
TQuery的刷新在很多讨论组都讲到了用Close,再Open的办法。还有一些讲用TUpdateSQL.
我一般是用第一种方法。但是有一个问题,每次Close,Open后,我希望记录停留在我刚刚操作的地方,我就在Close之前获得一个记录id,然后Open之后在Locate,问题就来了,有时我Locate会产生一个我意想不到的结果。他并没有定位到我想要的地方,我怀疑是不是delphi的bug,亦或是我的错误。不知有没有人遇到同样的问题,是怎么解决的?
前面讲到的第二种方法我没有用过,有哪位用过能大概讲讲。
yiyu 2000-07-24
  • 打赏
  • 举报
回复
你可以把Tquery 的sqlstring再执行一遍如下,
with query1 do
begin
close;
open;
end
这样就可以了。
thinking_man 2000-07-08
  • 打赏
  • 举报
回复
索引是在数据库中创建的,不是在tquery中。
xnake 2000-07-07
  • 打赏
  • 举报
回复
如果有索引的话可以refresh,没有的话只能close,open
nbu98 2000-07-07
  • 打赏
  • 举报
回复
Query1.refresh不能用吗?
zsr 2000-07-07
  • 打赏
  • 举报
回复
Tquery如何创建索引呢?

5,379

社区成员

发帖
与我相关
我的任务
社区描述
Delphi 开发及应用
社区管理员
  • VCL组件开发及应用社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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