求助DBGrid!!!火急...決不能前功盡棄。(30分)

  • 主题发起人 主题发起人 Tomtop
  • 开始时间 开始时间
T

Tomtop

Unregistered / Unconfirmed
GUEST, unregistred user!
Delphi6+ADO+Access2000
在DBGRID中一條記錄移動之前,如果做其它處理時出錯﹐如何找到Cancel的方法﹐
而且不讓系統自動Post﹐記錄移動終止﹐記錄位置不變﹐該事件在哪﹖怎么樣實現﹖
在ADOTable/ADOQuery的BeforeScroll、Willmoved、BeforPost事件中也沒見有Action
之類的參數.

因為本人在Detail表中用DBGRID處理﹐但要在其中一條記錄移動之前,必須先
用事務遞交更新庫存﹐要做到事務遞交成功才允許記錄移動﹐否則不允許記錄移動。

DBGRID中好像做不到﹐而在PB中可以在RowsChanging事件中處理,而且可以Cancel.

請各路英雄Help me,本系統已經做了一半﹐決不能前功盡棄﹐小弟也是決心想用DELPHI
來比試﹐而且已夸下海口DELPHI強過PB﹐可不能讓大伙儿一堆儿丟臉啦﹗
 
很简单,在你的事务开始时,先将DBGrid的ReadOnly设为只读就可以了,事务结束后改为可读写就行了
 
一个思路,你试试
在与DBGrid相连的DataSet类控件的BeferoPost
中写开始事务的语句
AfterPost事件中写CommitTrans
OnPostError事件中写:
RollBack
Abort;//这语写在最后

 
Tomtop:数据处理控制应围绕在数据集控件,而不是dbgrid.
你可以仔细看看数据集控件的各个事件。
 
去跟别的长处比?。。。。。。
 

Similar threads

S
回复
0
查看
3K
SUNSTONE的Delphi笔记
S
S
回复
0
查看
2K
SUNSTONE的Delphi笔记
S
I
回复
0
查看
787
import
I
后退
顶部