三层结构数据更新问题

delphi-爱好者 2017-08-21 10:47:24
不知道目前三层结构都用哪种方案,哪种方案比较成熟些

我的电脑目前Delphi7+win7+sqlserver2000
昨天在网上看了例子,http://blog.csdn.net/gykthh/article/details/40426451
服务端用的模式:SQL数据库<--Adoconnect<--Adoquery<--DataSetProvider,,客户端用的模式:应用层<--SocketConnection<--ClientDataSet<--DataSoure<--DBGrid ,
客户端 提交数据更新 调用的服务端的方法
var
b:OleVariant;
begin
sconn.Open;
sconn.AppServer.PostData('tb_Department',dstemp.Data,b);
.............
服务器端postData方法 里面用的 AS_ApplyUpdates('dspTemp', Delta, 0, Result, OwnerData);

但是不能更新数据,更新后再读取,还是原来的数据

...全文
247 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
coderee 2017-08-23
  • 打赏
  • 举报
回复
路过,学习。
lyhoo163 2017-08-23
  • 打赏
  • 举报
回复
1、利用ClientDataSet更新数据 2、ClientDataSet.ChangeCount表示,它有多少数据已经变化,需要更新 3、ClientDataSet.Delta,收集了变化了的数据集。 4、自己编写SQL更新数据。
lyhoo163 2017-08-22
  • 打赏
  • 举报
回复
Delphi 自带的更新方法不能用,要自己编写一个更新方法,代替它即可。
pcwe2002 2017-08-22
  • 打赏
  • 举报
回复
http://blog.csdn.net/pcwe2002/article/details/52527782 这种方式不用改代码,直接改连接串就可以。 原理比较简单,实现一个odbc数据驱动,ado或者bde等通过数据驱动连接到服务器端,服务端再与数据库操作,速度也很快,通过减少与数据库交互与数据压缩,外网大数据量比直接连接快很多。
delphi-爱好者 2017-08-21
  • 打赏
  • 举报
回复
以上AS_ApplyUpdates 方法无法更新不知道错在哪里, 另外用此方法 发送整个记录集的内容,数据量肯定太大,不太合适
delphi-爱好者 2017-08-21
  • 打赏
  • 举报
回复
看到有些朋友给的方案,是通过往服务端发送含有update的sql语句,如果修改过的内容可能多条记录呢? 求详细些的服务器端的数据更新代码

2,498

社区成员

发帖
与我相关
我的任务
社区描述
Delphi 数据库相关
社区管理员
  • 数据库相关社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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