我用的DataBridge在DBGridEh上加了一个DBNavigator然后运行程序,用DBNavigator操作增加数据,增加的数据没有插入数据库点击refresh后,报错,说dataset在 apply update前不能 refresh
这是为什么阿
是不是还要写DBNavigator的事件处理方法,判断一下,当按下post后,调用DataBridge.applyupdates等等

解决方案 »

  1.   

    DBNavigator操作數據時,新增記錄或修改記錄後,要記著按那個勾圖標的POST按鈕。
      

  2.   

    按了post,重新打开DBGridEh,数据还是那些,没有变化,插入,删除都是这样如果什么也不做,直接refresh,报错:EDatabaseErrorCDSEdit:Missing data provider or data packet ....
      

  3.   

    如果删除或增加数据,按refresh后,报错:EDatabaseErrorCDSEdit:Must apply updates before refreshing data
      

  4.   

    你的DBGridEh显示的是表还是视图啊
      

  5.   

    显示的是table
    unit Unit13;interfaceuses
      Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
      Dialogs, Grids, DBGridEh, DB, DBClient, CIMDataBridge, MConnect, ObjBrkr,
      Buttons, ExtCtrls, DBCtrls;type
      TForm13 = class(TForm)
        DBEdit: TCIMDataBridge;
        CDSEdit: TClientDataSet;
        DBGridEh1: TDBGridEh;
        SimpleObjectBroker1: TSimpleObjectBroker;
        DCOMConnection1: TDCOMConnection;
        DataSource1: TDataSource;
        DBNavigator1: TDBNavigator;
        procedure FormShow(Sender: TObject);
      private
        { Private declarations }
      public
        { Public declarations }
      end;var
      Form13: TForm13;implementation{$R *.dfm}procedure TForm13.FormShow(Sender: TObject);
    begin
      DBEdit.Close;
      DBEdit.Open;
    end;end.
    代码很简单,就是查询的一个table的数据
    DCOM  Databrige  dataset  dbgrideh datasource dbnavigator 组件刚问了同事,说是我们的环境不支持
    不知道各位有什么解决方法