UpdateMode設為upWhereKeyOnly是表示做Update操作时,生存的SQL语句的格式是Update Table Set ... Where KeyField = ... 格式,而你的错误是在提交这个SQL语句是发现这条记录没有找到引起的。

解决方案 »

  1.   

    你应该把中间层的TDataSetProvider.ResolveToDataSet设为true,
    并把TQuery.UpdateMode设为upWhereKeyOnly,就可以根据主建把数据更新回数据库。
      

  2.   

    可是,我用的是ADO,但ADODATASET,ADOQUERY,ADOTABLE都沒有UpdateMode設定,樓上說的TQuery.UpdateMode屬性是有的,難道用ADO就沒有辦法了嗎?:(
      

  3.   

    WuHeHai(河海),我明白你的意思,隻是我用想同的語句對數據庫操作,是沒問題的!
      

  4.   

    在你的中间层的数据访问组件中,你需要指定是那些字段是key字段,方法是指定字段的ProviderFlags为pfInKey,具体信息请参考TField的ProviderFlags帮助