使用delphi 开发多层应用(八)客户端更新数据到kbmMW服务器

简介: 上次写了从kbmMW服务器给客户端返回数据,我们实现了数据的查询功能,但是当客户端对数据进行了增加、更新、删除的操作, 我们必须把这些操作返回到服务器端,并对后台数据库进行更新。kbmMW 可以很方便的实现这一功能,今天就做一个更新数据到 服务器的例子。

   上次写了从kbmMW服务器给客户端返回数据,我们实现了数据的查询功能,但是当客户端对数据进行了增加、更新、删除的操作,

我们必须把这些操作返回到服务器端,并对后台数据库进行更新。kbmMW 可以很方便的实现这一功能,今天就做一个更新数据到

服务器的例子。

   还是在昨天的基础上,我们要把客户端的信息更新到服务器上,首先需要在服务器端的Tkbmqueryservice 设置允许客户端更新

的权限,如图

即把allowclient 开头的几个属性都设为True;

同时为了保证客户端可以插入数据,要设一下TkbmMWIBDACResolver的insertkeyfields 为 True.

这样服务器端就可以了,现在编译并运行。

在客户端,我们放置一个TDBNavigator 和一个按钮。如图

通过TDBNavigator 可以把对数据更改保存的客户端,再通过"更新到后台" 按钮把数据写到服务端。

同时,由于我们使用的是直接sql 语句读取数据的,因此,为了能够在服务器端更新数据,必须提供两个

参数,一个是tablename, 一个是keyfeilds. 所以我们更改一下读取数据的过程:

procedure TForm2.Button1Click(Sender: TObject);
begin
kbmMWClientQuery1.close;
kbmMWClientQuery1.Query.Clear;
kbmMWClientQuery1.Query.Add('select * from RSSJ');
kbmMWClientQuery1.KeyFields:='XH'; // 设置主键
kbmMWClientQuery1.TableName:='RSSJ'; // 设置表名
kbmMWClientQuery1.Open;

end;


这样,我们就可以先读取数据,然后编辑数据,使用TDBNavigator 确认更改,最后再更新到后台服务器及数据库服务器,

kbmMW 会根据更改的delta  自动生成更新的sql 语句,然后写入数据库。把客户端的数据变化更新到后台非常简单,代码

如下:

procedure TForm2.Button3Click(Sender: TObject);
begin

kbmMWClientQuery1.Resolve();
end;

下图为运行结果

为了更好的说明这个问题,我们再客户端分别作增加,更新,删除三个操作,然后更新到后台,

同时在服务器端使用devart 的dbmonitor 来检测一下,看看服务器是怎么生成sql 语句的。

通过这个检测,我们很清楚的可以看到各个操作的sql  都成功生成,并且顺利执行了。

今天我们完成了单表的更新操作,但是在实际开发中,经常遇见的是多表同时更新的事务操作,多个表要要么同时更新成功,要么全部滚回。

今天太晚了,我们下次再讲事务操作吧。



 

 

目录
相关文章
|
1月前
|
存储 缓存 前端开发
如何优化 SSR 应用以减少服务器压力
优化SSR应用以减少服务器压力,可采用代码分割、缓存策略、数据预加载、服务端性能优化、使用CDN、SSR与SSG结合、限制并发请求、SSR与CSR平滑切换、优化前端资源及利用框架特性等策略。这些方法能有效提升性能和稳定性,同时保证用户体验。
|
13天前
|
存储 人工智能 自然语言处理
ChatMCP:基于 MCP 协议开发的 AI 聊天客户端,支持多语言和自动化安装 MCP 服务器
ChatMCP 是一款基于模型上下文协议(MCP)的 AI 聊天客户端,支持多语言和自动化安装。它能够与多种大型语言模型(LLM)如 OpenAI、Claude 和 OLLama 等进行交互,具备自动化安装 MCP 服务器、SSE 传输支持、自动选择服务器、聊天记录管理等功能。
88 15
ChatMCP:基于 MCP 协议开发的 AI 聊天客户端,支持多语言和自动化安装 MCP 服务器
|
1月前
|
开发框架 .NET C#
在 ASP.NET Core 中创建 gRPC 客户端和服务器
本文介绍了如何使用 gRPC 框架搭建一个简单的“Hello World”示例。首先创建了一个名为 GrpcDemo 的解决方案,其中包含一个 gRPC 服务端项目 GrpcServer 和一个客户端项目 GrpcClient。服务端通过定义 `greeter.proto` 文件中的服务和消息类型,实现了一个简单的问候服务 `GreeterService`。客户端则通过 gRPC 客户端库连接到服务端并调用其 `SayHello` 方法,展示了 gRPC 在 C# 中的基本使用方法。
42 5
在 ASP.NET Core 中创建 gRPC 客户端和服务器
|
23天前
|
开发框架 .NET PHP
网站应用项目如何选择阿里云服务器实例规格+内存+CPU+带宽+操作系统等配置
对于使用阿里云服务器的搭建网站的用户来说,面对众多可选的实例规格和配置选项,我们应该如何做出最佳选择,以最大化业务效益并控制成本,成为大家比较关注的问题,如果实例、内存、CPU、带宽等配置选择不合适,可能会影响到自己业务在云服务器上的计算性能及后期运营状况,本文将详细解析企业在搭建网站应用项目时选购阿里云服务器应考虑的一些因素,以供参考。
|
1月前
|
安全 开发工具 Swift
Swift 是苹果公司开发的现代编程语言,具备高效、安全、简洁的特点,支持类型推断、闭包、泛型等特性,广泛应用于苹果各平台及服务器端开发
Swift 是苹果公司开发的现代编程语言,具备高效、安全、简洁的特点,支持类型推断、闭包、泛型等特性,广泛应用于苹果各平台及服务器端开发。基础语法涵盖变量、常量、数据类型、运算符、控制流等,高级特性包括函数、闭包、类、结构体、协议和泛型。
30 2
|
2天前
|
人工智能 JSON Linux
利用阿里云GPU加速服务器实现pdf转换为markdown格式
随着AI模型的发展,GPU需求日益增长,尤其是个人学习和研究。直接购置硬件成本高且更新快,建议选择阿里云等提供的GPU加速型服务器。
利用阿里云GPU加速服务器实现pdf转换为markdown格式
|
2天前
|
开发框架 缓存 .NET
阿里云轻量应用服务器、经济型e、通用算力型u1实例怎么选?区别及选择参考
在阿里云目前的活动中,价格比较优惠的云服务器有轻量应用服务器2核2G3M带宽68元1年,经济型e实例2核2G3M带宽99元1年,通用算力型u1实例2核4G5M带宽199元1年,这几个云服务器是用户关注度最高的。有的新手用户由于是初次使用阿里云服务器,对于轻量应用服务器、经济型e、通用算力型u1实例的相关性能并不是很清楚,本文为大家做个简单的介绍和对比,以供参考。
|
10天前
|
弹性计算 运维 安全
阿里云轻量应用服务器与ECS的区别及选择指南
轻量应用服务器和云服务器ECS(Elastic Compute Service)是两款颇受欢迎的产品。本文将对这两者进行详细的对比,帮助用户更好地理解它们之间的区别,并根据自身需求做出明智的选择。
|
11天前
|
SQL 弹性计算 安全
阿里云上云优选与飞天加速计划活动区别及购买云服务器后续必做功课参考
对于很多用户来说,购买云服务器通常都是通过阿里云当下的各种活动来购买,这就有必要了解这些活动的区别,同时由于活动内的云服务器购买之后还需要单独购买并挂载数据盘,还需要设置远程密码以及安全组等操作之后才能正常使用云服务器。本文就为大家介绍一下目前比较热门的上云优选与飞天加速计划两个活动的区别,以及通过活动来购买云服务器之后的一些必做功课,确保云服务器可以正常使用,以供参考。
|
13天前
|
弹性计算 安全 开发工具
灵码评测-阿里云提供的ECS python3 sdk做安全组管理
批量变更阿里云ECS安全组策略(批量变更)

热门文章

最新文章