各位高手,各位大侠我初用dbexpress开发,但是现在遇到一个最简单的问题更新oracle记录时出错,先提示:表或者视图不存在(table or view does not exist),再提示:unable to find record. no key specified,我用了sqlquery、sqlTable、SimpleDateset试验都是一样的错误,
sqlquery、sqlTable都是配合ClientDataset和DatasetProvider使用的,SimpleDateset单独使用。我原来用ADO连接数据库,但是原来的程序在win2000下正常,在winXP下就有错误,没办法只能重新来过。但是刚刚开始就遇到这样的问题,求大家救我。

解决方案 »

  1.   

    重新编译呢?
    SIMPLEDATASET设置很简单啊,你设置好了吗?
    说下你的连接设置!
      

  2.   

    糟糕,错误又变了,表找不到的问题我把表名改为大写就可以了但是applyupdates时提示:update affected more than 1 recode,再运行又提示:unable to find record. no key specified 但是我看到有的数据被修改了有的没有,天哪,这是怎么了。
      

  3.   

    你的ADO是怎么联接的?直接联还是经过了ODBC?
      

  4.   

    ADO直接连接oracle,客户电脑上我已经安装了微软最新的数据控件了,但是还是不行。
    我现在要改为dbexpress,在调试时就是这个情况,如果执行编译好的程序倒是会给我一个read of address 错误!但是数据是更新的,不知道为什么,看起来好像是地址越界了,但是我的设置都很简单啊。
      

  5.   

    不知大家都是如何解决dbexpress的更新操作的,现在我的程序已经可以编译后运行了,运行可执行文件不报错,但是在d7中调试,在applyupdate时总是报错,提示update affected more than 1 recode,然后就是不停的提示unable to find record. no key specified,但是数据确实修改了,不知大家是否碰到这种问题。
    原来提示read of address是我没注意有个地方代码有误。
      

  6.   

    DataSetProvider的UpdateMode应该设置成为upWhereKeyOnly
    查询数据集时候把RowID查询过来
    位SQLDataSet添加永久性字段
    然后把RowID字段ProviderFlags设置成为pfInKey
    其他不要的就需要设置。
    你在试试