为什么呀?为什么呀?没义气呀,为什么会出错呢?(三层结构) 你定义的这个表是不是没有key字段?如没有就加一个自动增加类型的字段。 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 to guig(胖胖):有KEY 字段呀,而且还是自动增加类型的字段,但是在ApplyUpdates()时就会出现上面的错误。 :( 你用的数据控件是BDE的吗?如是就改为用ADO的巴。因为在有自动增加类型的字段、BLOB字段的表用BDE的控件这样操作就会出错,用ADO的就没问题。好像是BDE的BUG巴。 主要是这个错误“Unable to find record ,No key specified ”,李维的《分布式多层应用系统篇》中说的,只要将DATABASE的handleshara设为TRUE 后就不会出现的这样的错误呀,而且今天上午我试了一下,将一个session控件放上后(服务器端),更新时不会出错了 (接上),但是不会保存更新的结果,值仍然是原来的,还有,我有一个和这个表一样的表,也有BLOB字段和自动增长字段,更新的代码也是一样的,却不会出错。 是 Key 的字段请在 ProviderFlag 中加入 pfKey。如果你不需要 WhereAll 的支持,请改掉 TDataSetProvider 的 UpdateMode 为 upWhereKeyOnly。如果你需要 WhereAll,请把所有 Blob, Graphic 字段的ProviderFlag 中的 pfInWhere 关掉,这样的字段不能用于 Where语句。明白了吗?顺便说 HandleShared 不能用,这让所有的数据库存取串行化,也就是说 apartment 模式失效了。 Database 的 HandleShared 不为true 时,又有两个客户时,会出现 database name already exists,而不是你说这个错。 to guig(胖胖): 对于 sybase 和 oracle 的数据库, 在 delphi6 以前版本只有 BDE 是最好的选择 to comanche(太可怕): 顺便说 HandleShared 不能用,这让所有的数据库存取串行化,也就是说 apartment 模式失效了。为什么?能不能 说明白一点。 让子窗体一直处于最上面 用DComConection.AppServer调用服务器组件的方法 DELPHI5开发人员指南上的问题. 如何在dbgrid中实现分页?每次只显示20条记录,当点击下一页时,显示其他的20条记录。高分答谢! Execute为什么不能保存? 在DBGRID中发送滚动消息? UDP发送数据:如何发送浮点型的数值 请教一个控件的问题,送40分,谢谢 为什么异常处理没有管用呢? 编程提交网页表单 各为大侠帮我解决这个问题吧。 请问用Delphi如何判断浏览器是否安装了Flash插件?
因为在有自动增加类型的字段、BLOB字段的表用BDE的控件这样操作就会出错,用ADO的就没问题。
好像是BDE的BUG巴。
BLOB字段和自动增长字段,更新的代码也是一样的,却不会出错。