有关数据库刷新的问题。(100分)

  • 主题发起人 主题发起人 舒克
  • 开始时间 开始时间

舒克

Unregistered / Unconfirmed
GUEST, unregistred user!
我是用的ctrlgrid来显示数据库中的数据。当我向数据库中插入一个记录时,ctrlgrid中不能
显示我插入的数据,我用了refresh,active的方法都不行,非要程序退出后,再进入才可以看到
请问大家有什么好方法吗?
 
再补充一个问题就是关于ctrlgrid的。我做了一个借贷程序,借方金额和贷方金额都是存放在
同一个字段money下的。区分方法是用的另一个bool型字段cd_c来区分。我在ctrlgrid中放了
两个dbedit(JieEdit,DaiEdit)来显示借贷金额,因为要求在显示借方金额时不显示贷方金额,
我用了两个另两个dbedit(JieTmp,DaiTmp)来遮住(JieEdit,DaiEdit)判断过程如下。
procedure Tyydata.JieDaiValue(JDValue:BOOL);
begin
if JDValue = False then JieTmp.Width := 0;
if JDValue = False then DaiTmp.Width := DaiEdit.Width;
if JDValue = True then JieTmp.Width := JieEdit.Width;
if JDValue = True then DaiTmp.Width := 0;
end;
ctrlgrid的RowCount设为5,ColCount为1.
程序运行中我发现5行的判断动作都是一样的。要不就是全部把JieEdit遮住,要不就是遮住
DaiEdit,只要我点到哪一行,其他行的判断动作就与这一行一样。我想一行一行分别进行
判断动作。不知道有哪位高手可以指点一下。
 
[red]
其实,主要是你运用的事件有问题,假若你在 TDBCtrlGrid的OnPaintPanel事件中写,或许就对了,我试验了一下,我在TDBCtrlGrid中加入了两个TDBEdit(dbedit1h,dbedit2),dbedit2我没有分配数据,然后我用下面的方法就达到了你的效果
if table1.FieldByName('city').AsString='Wellesley' then dbedit2.Visible:=False else dbedit2.Visible:=true;//这个Else必须要的。

你可以试试看,别忘了加分


[/red]
 
你是不是用dbedit2遮住dbedit1h的呢?
我遮住一个没有问题,但是好像遮两个就有问题了。[:)]
 
要不你这么试
Table1.DisableControl;
Table1.close;
Table1.open;
Table1.EnableControls;
 
试试我的办法:
在Query的AfterPost事件中加入
Query1.close;
Query1.Open;
 
DataSet.Requery();
呵呵,刷新记录了,给分呀
 
del520的方法无用,天与地的方法无用,lb_icesea79的方法无用,
我是用的ADOQuery+ADOTable+DBCtrlGrid+Access表的方法。请问还有何人有好方法???
 
用dataset.insert吧

这样肯定行的
 
好像还是不行。
 
就差最后一个数据库刷新的问题了。OK了之后大家就分分了。大家帮帮忙啊!
 
在插入前是怎么读和显示的,刷新是重新做一次不就行了?
 
我把我的显示方式仔细写一下。希望大家可以替我分析分析,我也是刚学了一个月的DELPHI,
还不熟。
我的数据库表是Access数据库,用到其中两个表(G_vouch和G_vouchs,G_vouchs是G_vouch的子表
)用的数据库控件是:
两个TADOTable(G_vouchTable->G_vouch表,G_vouchsTable->G_vouchs表)。
两个TDataSource(G_vouchDS->G_vouchTable,G_vouchsDS->G_vouchsTable)。
两个TADOQuery(G_vouchQuery,G_vouchsQuery)。
一个TDBCtrlGrid。
G_vouchsTable的MasterSource是G_vouchDS,MasterFields是isid
TDBCtrlGrid的DataSource是G_vouchsDS
向主表的G_vouchQuery和子表G_vouchsQuery添加数据都是用的Insert命令,现在我插入数
据正常,但是插入数据后两个TADOTable中的数据不好及时刷新,非要程序退出后再进入才
能看到我刚才插入的记录。我不知道是怎么回事,希望大家替我看看是怎么回事。
 
我也不知道,从来没有遇到

按你说的应该没有问题

建议你新建一个工程

用原来的access库

按照原来的方式搭好整个结构

然后试验一下

看问题到底出在哪里

也可以试用一下别的数据库

总之改变各个环节

找到问题的出处
 
qiaoda_ly给你加了80分,其他的人也散分了。
 
后退
顶部