QF中间件

2020-02-04 16:00:49来源:博客园 阅读 ()

新老客户大回馈,云服务器低至5折

QF中间件

QF中间件使用说明

 

       QF中间件是在2020年春节期间出现新型冠状病毒感染的肺炎疫情不敢外出,闲来无事编写的,本人是老菜鸟,编程是业余爱好,水平有限,平时编程只会拖控件,中间件可能存在未知Bug,这个版本也只实现了简单的增删改查功能,与已有的中间件功能差距巨大,请口下留情,勿喷!

       QF中间件使用FDmemTable、mORMot和参考咏南开源mORMot中间件的基础上开发而成,QFDataSet包含QFRest、QFTable和QFQuery这3个控件)方便使用,MSSQL2000和postgresql 10数据库三层应用测试正常,其他数据库暂时没测试,QF中间件支持ORACLE,MYSQL,MSSQL和POSTGESQL数据库,其中ORACLE,MSSQL不依赖第三方引擎,MYSQL、POSTGESQL使用免费开源控件zeosdbo-7.2.4)。

       QF中间件同时解决了盒子论坛提出使用MSSQL数据库时的若干问题,利用本中间件可以简单快捷编写三层应用。

:http://bbs.2ccc.com/topic.asp?topicid=559565

一、QF中间件服务端设置

       QF中间件服务端采用windows的services方式,安装后以services运行。

将QFMg.exe和QFSvr.exe这2个文件拷贝到服务器指定的文件夹,运行QFMg,exe配置相关参数。

1.配置数据库设置:选择数据库类型、数据库IP、数据库名称、用户和密码

   POSTGESQL:需要将libeay32.dll、libiconv-2.dll、libintl-8.dll、libpq.dll、msvcr120.dll和ssleay32.dll放到QFSvr.exe目录中。

   MSSQL:不需要单独数据库驱动。

   ORACLE,MYSQL未测试。

2.设置服务器参数

3.服务设置:安装QF中间件服务,安装成功后启动QF中间件服务。

  

二、QFDataSet控件的使用说明

1、QFRest控件

1).QFRest.IP:服务器IP

2).QFRest.Port:服务器端口(默认2006)

3).QFRest.User:认证名称

4).QFRest.Passwords:认证密码

5).QFRest.Connect:连接服务器

6).QFRest.DisConnect:断开服务器连接

 

2、QFTable控件

1).QFTable.Rest:远程连接控件

2).QFTable.IndexFieldNames:更新时的主键字段

3).QFTable.NoField:更新时不更新的字段列表,多个字段时用逗号分割

4).QFTable.TableName:表名称

5).QFTable.ApplyUpdates:当需要保存到远端时用。

6).QFTable.PageSize:每页的记录数,默认为100

7).QFTable.PageNo:当前页

8).QFTable.PageIndexMax:当前表最大页数

9).QFTable.Open:打开表时,根据PageNum和PangeIndex调用指定记录

  QFTable1.PageSize := 100;

  QFTable1.PageNo := 1;//改变这个值读取指定页的记录

  QFTable1.Open;

10).QFTable.Locate(const AKeyFields: String; const AKeyValues: Variant; AOptions: TLocateOption):Boolean;

例子:

   QFTable1.Locate('BGBH,ID',VarArrayOf(['HYA2018-25318',17]), loPartialKey);

11).打开前一页例子:

  QFTable1.PageSize := PageNum;

  QFTable1.PageIndex := pn-1;//改变这个值读取指定页的记录

  QFTable1.Open;

12).打开下一页例子:

  QFTable1.PageSize := PageNum;

  QFTable1.PageNo := pn+1;//改变这个值读取指定页的记录

  QFTable1.Open;

3、QFQuery控件

1).QFQuery.Rest:远程连接控件

2).QFQuery.SQL:设置SQL语句

3).QFQuery.Open:执行QFQuery.SQL的Sql语句

4).QFQuery.Open(SQL:string):执行SQL

5).QFQuery.ExecSQL

 QFQuery例子:

  QFQuery1.SQL := Edit2.Text;

  QFQuery1.Open;

  DataSource1.DataSet := QFQuery1;

 

三、Delphi开发环境

Library paths加入mORMot、Components、zeosdbo-7.2.4\src、zeosdbo-7.2.4\src\core、zeosdbo-7.2.4\src\core\dbc、zeosdbo-7.2.4\src\core\parsesql、zeosdbo-7.2.4\src\plain,其中mORMot和zeosdbo-7.2.4的文件夹是精简后所需的全部文件

  

Demo的界面:

 

备注:Demo服务端放在5M带宽的天翼云主机。

 

注  意:

MSSQL分页时需要数据库的表加ID字段及索引,如果没索引分页时越往后分页速度会越慢,加上索引后分页速度得到极大提升。

 

2020-01-30   


原文链接:https://www.cnblogs.com/qiufeng2014/p/12244113.html
如有疑问请与原作者联系

标签:

版权申明:本站文章部分自网络,如有侵权,请联系:west999com@outlook.com
特别注意:本站所有转载文章言论不代表本站观点,本站所提供的摄影照片,插画,设计作品,如需使用,请与原作者联系,版权归原作者所有

上一篇:UniGui学习之部署(06)

下一篇:UniGUI之ServerModule常用设置(07)