我用了dbnavigator插件
 想用它来修改制定内容
procedure Tform4.Button4Click(Sender: TObject);
begin
 dbnavigator2.BtnClick(nbedit);
end;
 该怎么解决呢?

解决方案 »

  1.   

    不知你用的什么查询元件,如果是dbExpress的,是单向的数据集。所以不能修改,而且不能回卷
      

  2.   

    AdoqrId:=TADOQuery.Create(nil);
        adoqrId.Close;
        AdoqrId.Connection:=AdocnCar;
        AdoqrID.SQL.Text:='Select * from C_Enterprise Where EnterpriseID='+IntToStr(IntID);
        AdoqrID.Open;
        AdoqrID.Edit;在OPEN以后用。EDIT就可以了,和用什么dbnavigator插件无关
      

  3.   

    估计是datasource的autoedit设为false了
      

  4.   

    是Query的问题,把requestlive设为true就可以了。
      

  5.   

    如果用DBNAVIGATOR,要将
    cachedupdates设为FALSE。
    另外,如果用CACHEDUPDATES,
    将用UPDATESQL进行数据更新
      

  6.   

    你连数据库用的是ODBC吗?我记得如果是BDE可以改而ODBC好象是不可以的!
      

  7.   

    高定了,就是requstlive 的问题,谢谢大家,来者有分
     我是菜鸟,以后请大家多指教
      

  8.   

    或者你试一下query的requestlive:= True看看!
      

  9.   

    不应该是Query.RequestLive 的问题,Query.RequestLive := False只是不能更新数据集,并不影响在缓冲区内编辑数据。
    原因应该是,搂主代码错误,dbnavigator2.BtnClick(nbedit);不能模拟Edit钮按下,所以Dataset没能处于Edit状态。当然,要更新数据集也必须同时Query.RequestLive := True