还是刷新问题(200分)(200分)

  • 主题发起人 主题发起人 DelphiUser
  • 开始时间 开始时间
D

DelphiUser

Unregistered / Unconfirmed
GUEST, unregistred user!
1。小弟的存储过程中对数据库进行了修改,但Delphi并不知,如何刷新
显示呢?
2。小弟在点导航按钮条的Refresh时出现了“表没有唯一索引”,但我用的是
Interbase,已经建了唯一索引。(我是用TQuery)
3。小弟的DBGrid添加一条记录后,为什么原来位置的记录被新的记录代替了,
但重新运行后原来的和添加的记录均存在?
 
用BookMark记录一下当前的位置,然后Close再Open一下表。因为表可能不
是被你所独自占有的所以不能用Refresh.
 
1.close/open
2.query SELECT里要包含这个KEY FIELD
3.???Refresh or close/open:)
 
1.close/open
2.afterpost;
 
插入时用append吗?
 
可修改存储过程返回参数值为所指的RecordNo.
use:
Query.Locate(RecordNo);

用close/open.Delphi的Refresh有问题.
 
Interbase还有RecordNo吗
 
1.Table的IndexFileName用主键,表的任何改动会自动刷新.
关于InterBase的RecordNo
create procedure RecordNo
return Num integer
As
select num=count(*) from TableName
 
1。2可以记下当前位置的记录的主关键字的值,Close/open后再Locate到那条记录
3。我也经常出现此问题,不知道为啥?
 
我在SQL Server中也碰到这个问题,SQL Server提示记录已改动不让
再次修改。最后我只好在存储过程中对数据库进行了修改后,把TQuery
重新Open,Close。不知有谁知到更好的方法。
 
>2可以记下当前位置的记录的主关键字的值,Close/open后再Locate到那条记录
那你不会先GETBOOKMARK,然后CLOSE/OPEN再SETBOOKMARK?虽然虽然办法已经
是蠢到根了,但也不能LOCATE什么的呀?,
 
试试这个:
Datasource.Dataset.Refresh;
 
有没有更好的办法?比如AppSrv端回送一个Delta包给客户端?请教了!!
 
1.table1.flashbuffers;
 
1、对于无KEY的 Interbase 表,插入记录后,原来的就找不到了,只能重新打开
2、Query 不支持 Refresh操作,即使原表有Key, 且 Query1中包含该字段,
加上 order by 都不行, 只能重新打开
 
menxin:flush not flash:)
 
我也遇到这个问题,谁解决了我也愿出分。
 
1.不知各位有没有想过动态光标的问题,如果服务器采用动态光标,客户端是无论如何都得不到RecNo的。另外,如果连接采用的是:KeySet的,会在tempdb的系统数据库中形成一个临时表,此时,也没有RecNo.只有采用静态光标才会有RecNo.(对SQL SErver而言)
2.设置TQuery的AutoRefresh能解决你们的问题吗?
 
我也遇到这个问题,我在Table的IndexFileName用主键,表的任何改动会自动刷新.
delphiuser,你的问题2,3就可解决.但新问题出现了,即表中不能出现多条完全相同
的记录(所有字段值均一样),否则,对这些记录的删除和修改均会出现错误:'multiple
records were found,but only one was expected'.
这个问题我已经提过(主题为:oracle 8i),请各位大虾帮助参详.
delphiuser,你的问题1,可以这样解决:
调用存储过程后,close/open 或者使用tbookmark方法.
 

Similar threads

D
回复
0
查看
767
DelphiTeacher的专栏
D
D
回复
0
查看
809
DelphiTeacher的专栏
D
D
回复
0
查看
639
DelphiTeacher的专栏
D
后退
顶部