关于三层结构数据更新时,无法正确定位更新记录的问题!欢迎大家对DataSetProvider的UpdateMode属性的设置及使用进行讨论(300分)

  • 主题发起人 主题发起人 siyan
  • 开始时间 开始时间
to siyan
1、
如果你用的是whereKeyOnly的话,同时oracle表上又有主键,实在是不可能出现这个问题的。
如果你用的是whereChange或whereAll,才会受那个''与NULL的影响。
2、
正是因为oracle不区分字段名大小字,所以小写的sql查询,回来的结果集都是大写的,BDE就
发现出的SQL在结果集中找不到字段名了,于是就"Unable to find record. No key specified"
 
to szf
我用的的确是whereKeyOnly,同时oracle表上又有主键,而且我提交的SQL查询
也可以确定字段名及表名都是大写的,但是就是出现Unable to find record.
No key specified。我真的不明白是什么原因,请大家指教
 
这实在是可能性不在呀。
但楼主你一直以来没有说明到底是在使用BDE还是ADO连接Oracle,DataSetProvider.RolveToDataSet
属性值也没说明。
如果你用的是ODAC一类的东东,这里讨论的很多东西就不适用了。
搞不定。
 
我昨天也遇到同样的问题。
用ADO连ODBC数据源就老是更新的时候出错。也是Unable to find record. No key specified
用BDE或是ADO连其他的JET或是SQL SERVER就一切正常。
这是怎么回事呢?
 
YANCHAO28的说法是正确的。
另外TDataSetProvider的一个问题是我在使用Oracle数据库的时候,SQL语句为
SELECT * FROM USER.TABLE,TDataSetProvider在Update时竟把USER当用表名,
而不是USER.TABLE。
不知Delphi7改过来了没有。
 
不管问题能否解决,谢谢大家的帮忙!
to szf
实在不好意思,很多条件没有说清楚
我是用BDE连接ORACLE8I数据库
DataSetProvider.RolveToDataSet=FALSE
顺便再问一个问题
客户端更新提交时,出现operation no applicable是怎么回事
 
你好,请教一个问题,我做三层,可是客户端调用找不到中间层的服务器,你是怎么解决的,
就是在不同的机器上,找到服务器,delphi的资料上说是企业版本的要想找到别的机器上的服务器,必须花钱购买,不止到你市如何解决的
 
to zzzzai
你的网络是否连通?局域网还是广域网
客户端使用什么连接,DCOMCONNETION还是SOCKETCONNECTION
 
虽然没有得到我想要的答案
拖了这么就也该结束了
请大家关心一下我的另外一个问题
http://www.delphibbs.com/delphibbs/dispq.asp?lid=1425336
 
后退
顶部