[转载红鱼儿]kbmmw 开发点滴:kbmMW 命名查询(Named Query)

简介: 所谓命名查询(Named Query),指客户端的Query通过指定的名称,使用服务器端的Query操作(查、增、删、改)数据库。通过Named Query机制,实现事先在服务器端设置好SQL,达到在客户端不用写SQL的目的,同时,我们只需要将QueryService的AllowClientNamedQuery设置为True。

所谓命名查询(Named Query),指客户端的Query通过指定的名称,使用服务器端的Query操作(查、增、删、改)数据库。通过Named Query机制,实现事先在服务器端设置好SQL,达到在客户端不用写SQL的目的,同时,我们只需要将QueryService的AllowClientNamedQuery设置为True。

 

看一下具体的使用:

服务器端放一个kbmMWUniDACQuery:

with kbmMWUniDACQuery do begin

 Name:='T1';//客户端在SQL中调用的名称

 Published:=True;//客户端可见,不然出Query xxx not defined(Server)错误.

 KeyFieldNames:='F1';//支持客户端增、删、改

 TableName:='T1';//支持客户端增、删、改

 SQL.Text:='Select * from T1 where F1<=:F1';//服务器端的SQL,这里做了一个参数F1,支持客户端按参数查询

 Resolver:=kbmMWUNIDACResolver1;

 ConnectionPool:=Form1.kbmMWUNIDACConnectionPool1;

end;

客户端调用方法:

procedure TForm2.Button1Click(Sender: TObject);
begin
//这是直接SQL调用的方法

//  kbmMWClientQuery1.Close;
//  kbmMWClientQuery1.Query.Clear;
//  kbmMWClientQuery1.Query.Add('Select * from T1');
//  kbmMWClientQuery1.Open;

//这是Named Query方法:

  kbmMWClientQuery1.Close;
  kbmmWClientQuery1.Query.Text:='@T1';//T1,在服务器端定义的查询组件的Name属性
  kbmMWClientQuery1.FieldDefs.Update;//取得服务器SQL中的参数
  kbmMWClientQuery1.Params.ParamByName('F1').AsInteger:=5;
  kbmMWClientQuery1.Open;
end;

通过上面的代码,客户端能够通过服务器实现对一个表的操作了!

kbmMW <wbr>命名查询(Named <wbr>Query)kbmMW <wbr>命名查询(Named <wbr>Query)xalion,是他的blog指导我,同时在他的帮助下,才搞明白kbmMW Named Query!

 

目录
相关文章
|
缓存 NoSQL Redis
Entity Framework Core 与 Redis 强强联手!实现高速缓存,提升应用性能超厉害
【8月更文挑战第31天】在现代应用开发中,结合 Entity Framework Core 与 Redis 可显著提升数据访问速度。Entity Framework Core 是一个强大的 ORM 框架,但处理频繁访问的数据时可能遇到性能瓶颈。Redis 作为高性能内存数据库,具备快速读写能力。两者结合利用 Redis 高速缓存,减少直接数据库访问,提高应用响应速度及性能。
402 0
|
监控 Unix 数据安全/隐私保护
告别中央服务器:Syncthing实现点对点文件同步
告别中央服务器:Syncthing实现点对点文件同步
626 3
|
SQL Java 数据库连接
sql injection violation, syntax error: syntax error, error in :‘**‘expect IDENTIFIER, actual IDENTIF
sql injection violation, syntax error: syntax error, error in :‘**‘expect IDENTIFIER, actual IDENTIF
448 0
|
JavaScript
在Vue项目中vue-quill-editor的安装与使用【详细图解+过程+包含图片的缩放拖拽】
文章详细介绍了在Vue项目中安装和使用`vue-quill-editor`的步骤,包括如何通过npm安装、局部挂载、在Vue页面中引入和配置使用。同时,还提供了如何实现图片的缩放和拖拽功能的进阶教程,涉及到安装额外的插件`quill-image-drop-module`和`quill-image-resize-module`,以及对Webpack配置的调整。最后,文章还提供了实际效果展示和一些后续可能的拓展功能,如上传视频和将图片上传到服务器等。
在Vue项目中vue-quill-editor的安装与使用【详细图解+过程+包含图片的缩放拖拽】
|
Java Maven 数据库
IDEA中如何导入jar包、IDEA中找不到对应类改怎样解决?(详细图解过程)
这篇文章提供了在IntelliJ IDEA中导入jar包的详细图解过程,包括当IDEA找不到对应类时的解决方法。内容涵盖了未加入jar包时程序报错的情况、加入jar包后成功启动的效果,以及如何解决驱动问题,确保使用正确版本的数据库驱动。
IDEA中如何导入jar包、IDEA中找不到对应类改怎样解决?(详细图解过程)
|
Shell 开发工具 git
Git安装与使用方法入门
Git是一个帮助开发者追踪代码变化和团队协作的工具。它记录了代码修改的历史,并允许回到过去的版本。开发者可以创建分支来独立开发新功能,而不影响主代码。团队成员可以共享代码,并轻松合并修改。Git提供了高效的工作流程和协作机制,使代码管理更简单。总之,Git是一个强大而灵活的工具,适用于个人和团队开发。
290 0
|
缓存 Java Apache
Spring一行代码搞定图片url地址转换为Base64,超简单!!!!
这段内容讲述了如何将URL指向的图片转换为Base64字符串。首先通过`org.apache.commons.io.IOUtils`或Java标准库读取URL的字节流,然后用Java 8的`Base64`类编码。示例代码提供了两种实现方式:一种依赖Apache Commons IO,另一种仅使用Java内置类。在第二种方式中,自定义了`toByteArray()`方法处理输入流并转换为字节数组,最后关闭输入流释放资源。
|
网络协议 Java 物联网
Spring Boot与Netty打造TCP服务端(解决粘包问题)
Spring Boot与Netty打造TCP服务端(解决粘包问题)
1764 2
|
机器学习/深度学习 C语言
经验大分享:pascal基础
经验大分享:pascal基础
127 0
java.sql.SQLException: sql injection violation
本文目录 1. 报错信息 2. 问题分析 3. 排除法 4. 解决方案
4091 0