关于Delphi中TClientDataSet的数据更新的问题.

afreehawk 2000-06-09 02:10:00
本人用DCOM和TClientDataSet建立了MIDAS的三层结构的数据库
但是本人在数据库修改数据后无法将数据写到数据库服务器中,
本人用了ClientDataSet的ApplyUpdates的方法也不能实现,
不知道是什么原因,请教各位高手.

代码:
procedure ..................
begin
ClientDataSet_My.ApplyUpdates(0);
{ClientDataSet_My是ClientDataSet的名字}
end;
...全文
454 9 打赏 收藏 转发到动态 举报
写回复
用AI写文章
9 条回复
切换为时间正序
请发表友善的回复…
发表回复
yiyu 2000-09-24
  • 打赏
  • 举报
回复
可以实现呀,我都可以。你用commandtext 来动态伟传送sql语句就可以了。
afreehawk 2000-06-18
  • 打赏
  • 举报
回复
这个问题我已经解决了,不过有几点奉劝大家,
免得走弯路.
1.在TQuery和TClientDataSet结合在一起的时候,最好采用动态的SQL语言;
ClientDataSet.DataRequest('......');
DataSetProvider.SQL.Text:=Input;
具体看书.
2.要将TQuery的RequestLive的值设置为True,才能修改数据库;
3.可以和高手聊天,希望Delphi的高手将自己的OICQ号码公布,经验共享.
zxh1972 2000-06-16
  • 打赏
  • 举报
回复
把你的代码发给我,帮你调一下。
ziwei_99@263.net
fengyer 2000-06-15
  • 打赏
  • 举报
回复
我也正遇到这个问题,望诸位大虾详解
afreehawk 2000-06-13
  • 打赏
  • 举报
回复
没有在SQL语句中使用聚合函数.
sailboat 2000-06-09
  • 打赏
  • 举报
回复
ApplyUpdate提交的数据是有条件的,比如从服务器获取数据时select语句中使用了in子句或者聚合函数等,不知道你是不是存在这样的情况.
afreehawk 2000-06-09
  • 打赏
  • 举报
回复
问题是这样在DBGrid中修改的数据无法写到数据库服务器中,
重新打开数据库的时候,数据还是旧的,没有更新.
本来在DBGrid中修改了数据之后,然后在一个按钮的Click事件中添加
ApplyUpdates后可以将数据写到远程的数据库服务器中,但是,就是不能
成功.我曾经用两个DataSetProvider指向一个相同的数据库.后来删掉
另外的DataSetProvider也还是不能写成功.
zxh1972 2000-06-09
  • 打赏
  • 举报
回复
是呀,详细点。
halfdream 2000-06-09
  • 打赏
  • 举报
回复
说详细些吧, 这样是看不出什么问题的。
Delphi/Kylix Database Development(作者:Eric Harmon)配书示例应用程序说明。 第1章 .Events——演示TSQLConnection组件引发的各种连接事件。 .MetaData--演示如何从dbExpress连接获取简单的元数据。 .DDLSQL--演示如何将DDL和SQL命令直接发送到TSQLConnection组件。 .TransI演示在dbExpress如何支持事务。 .Feedback——演示如何为dbExpress连接发生的情况提供反馈。 第2章 .Basic——演示基本的TSQLDataSet操作。 .Advanced--演示更高级的TSQLDataSet方法和操作。 .Schema--演示如何使用TSQLDataSet从dbExpress连接获取更详细的元数据。 第3章 .cDS——演示基本的客户数据集支持。 .Navigate--演示如何在TClientDataSet导航。 .CDSIndex--演示如何在TClientDataSet上创建和使用索引。 .RangeFilter——演示如何通过应用范围和过滤器限制TClientDataSet数据量。 .Search——演示在客户数据快速定位给定记录的各种方式。 第4章 .EventLog--演示TClientD~aSet引发的事件。 .Updates——演示如何禁用和启用数据感知控件的更新以加快数据集操作的速度。 .BLOBs——演示如何在客户数据存储图片和注解。 .Nested--演示客户数据集如何实现主/明细关系。 .ChangeLog——演示如何使用客户数据集实现撤销支持。 .Clone'----演示克隆,即创建一个TCIientDataSeL的重复拷贝。 第5章 .DataAware--演示此章讨论的各种数据感知组件。 第6章 .Options--演示TDBGrid的各种选项的作用。 .CustomDraw--演示如何覆盖TDBGrid的默认绘制方式以提供吸引人的网格。 .CtrlGrid--一个VCL特有的例子,演示如何使用TDBCtrlGrid组件。 第7章 .Updates--演示数据集提供者的基本操作。 .Joins--演示如何正确地解析通过SQLJOIN获取的数据。 .DataFetch——演示如何限制从数据集返回的BLOB和明细数据的数量,以便提高应用 程序的性能。 第8章 .Methods——演示如何向应用程序服务器添加可调用的方法。 .LocalConn--演示如何使用多层技术实现可独立执行的数据库应用程序。 .Stateless——演示如何创建与MTS和COM+结合使用的无状态应用程序服务器。 第9章 .ConMan——这个完整的示例应用程序创建一个简单的联系人管理程序,演示了本书讨 论的许多技术。 在源代码方面;每章具有自己的目录,其下有VCL和CLX子目录。VCL和CLX子目录之下还 有每个示例应用程序自己的目录。 除了每章的子目录,还有一个单独的名为Components的子目录,其包含前面提到的数 据感知组件后代。Data子目录包含数据文件conman.gdb(许多示例应用程序要使用这个 数据文件)和用于创建这个数据库的SQL脚本(conman.sql)。 如果在自己的驱动器上维持这样的目录结构,示例程序应该可以运行。它们使用相对路 径..\..\..\Data\conman.gdb访问CONMAN数据库。如果在运行示例程序时 遇到了麻烦,那么可能需要改为提供完整路径,比如d:Dataconman.gdb。

5,386

社区成员

发帖
与我相关
我的任务
社区描述
Delphi 开发及应用
社区管理员
  • VCL组件开发及应用社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧