QF中间件使用说明

 

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

QF中间件使用FDmemTable、mORMot和参考咏南开源mORMot中间件的基础上开发而成,QFDataSet包含QFRest、QFTable和QFQuery这3个控件)方便使用,QF中间件已测试MSSQL2000、postgresq、MySQL和SQLite等数据库,三层应用环境使用正常,ORACLE数据库没环境测试,MSSQL、SQLite和ORACLE使用mORMot自带数据引擎,其中SQLite直接将引擎编译到服务端程序,MySQL和POSTGESQL使用免费开源控件zeosdbo-7.2.4)。

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

: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:不需要单独数据库驱动;
   MYSQL:将libmysql.dll放到QFSvr.exe文件夹中;   
   SQLite:已将引擎嵌入QFSvr.exe
   ORACLE:未测试。

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带宽的天翼云主机。

2020-01-30

QF中间件的更多相关文章

  1. Linux 远程登录——(九)

    Normal 0 7.8 磅 0 2 false false false EN-US ZH-CN X-NONE /* Style Definitions */ table.MsoNormalTable ...

  2. django的中间件

    aaarticlea/png;base64,iVBORw0KGgoAAAANSUhEUgAAA2EAAAGUCAIAAAAzrr3rAAAgAElEQVR4nOy9d5wcx3kmzAXl80m6zy

  3. CBV加装饰器解决登录注册问题和 <<中间件>>

    文本目录 CBV加装饰器解决登录注册问题 一:什么是中间件 二:中间件有什么用 三:自定义中间件 四:中间件应用场景 五:SCRF TOKEN跨站请求伪造 六: 其他操作 CBV加装饰器解决登录注册问 ...

  4. ASP.NET Core 中的那些认证中间件及一些重要知识点

    前言 在读这篇文章之间,建议先看一下我的 ASP.NET Core 之 Identity 入门系列(一,二,三)奠定一下基础. 有关于 Authentication 的知识太广,所以本篇介绍几个在 A ...

  5. ASP.NET Core应用的错误处理[3]:ExceptionHandlerMiddleware中间件如何呈现“定制化错误页面”

    DeveloperExceptionPageMiddleware中间件利用呈现出来的错误页面实现抛出异常和当前请求的详细信息以辅助开发人员更好地进行纠错诊断工作,而ExceptionHandlerMi ...

  6. ASP.NET Core应用的错误处理[2]:DeveloperExceptionPageMiddleware中间件如何呈现“开发者异常页面”

    在<ASP.NET Core应用的错误处理[1]:三种呈现错误页面的方式>中,我们通过几个简单的实例演示了如何呈现一个错误页面,这些错误页面的呈现分别由三个对应的中间件来完成,接下来我们将 ...

  7. ASP.NET Core 中间件之压缩、缓存

    前言 今天给大家介绍一下在 ASP.NET Core 日常开发中用的比较多的两个中间件,它们都是出自于微软的 ASP.NET 团队,他们分别是 Microsoft.AspNetCore.Respons ...

  8. .NET Core中间件的注册和管道的构建(3) ---- 使用Map/MapWhen扩展方法

    .NET Core中间件的注册和管道的构建(3) ---- 使用Map/MapWhen扩展方法 0x00 为什么需要Map(MapWhen)扩展 如果业务逻辑比较简单的话,一条主管道就够了,确实用不到 ...

  9. .NET Core中间件的注册和管道的构建(2)---- 用UseMiddleware扩展方法注册中间件类

    .NET Core中间件的注册和管道的构建(2)---- 用UseMiddleware扩展方法注册中间件类 0x00 为什么要引入扩展方法 有的中间件功能比较简单,有的则比较复杂,并且依赖其它组件.除 ...

随机推荐

  1. myeclipse中svn图标状态不显示问题的解决办法

    myeclipse中svn图标状态不显示问题的解决办法 博客分类: svn SVNMyeclipse工作WindowsC  myeclipse中使用 svn 插件,原本正常,未作任何更改,突然有一天, ...

  2. 【Unity】鼠标指向某物体,在其上显示物体的名字等等等等信息

    之前一直用NGUI HUD Text插件做这个功能,感觉一个小功能就导一个插件进来简直丧心病狂.然后就自己写了一个~ Camera cam;//用于发射射线的相机 Camera UIcam;//UI层 ...

  3. docker 日志清理

    首先确认 docker 使用的存储引擎 docker info 如果使用 Logging Driver: json-file, 那么日志默认在 /var/lib/docker/contains/xxx ...

  4. NO21 Llinux的文件种类与扩展名--文件权限--软硬链接--Linux删除文件原理

    Linux的文件种类与扩展名 一.文件种类:1.普通文件(regular file)第一个字符为[ - ]包括:①纯文本档(ASCII):这是Linux系统中最多的一种文件类型,称为纯文本档.是因为内 ...

  5. LoadRunner回放脚本时,显示浏览器的设置

    打开LoadRunner的VuGen,选择Tools-->General Options-->Display,在Display里将 Show browser during replay打钩 ...

  6. 新闻网大数据实时分析可视化系统项目——21、大数据Web可视化分析系统开发

    1.基于业务需求的WEB系统设计 2.下载Tomcat并创建Web工程并配置相关服务 下载tomcat,解压并启动tomcat服务. 1)新建web app项目 创建好之后的效果 2)对tomcat进 ...

  7. decompiler of java

    运维了两个java项目,但是没有源代码,整天都是各种问题,各方面都不配合.我也只是个小小的兵,但是工作还是要做. 转机 偶然想试一试decomplier,就找到了gd-gui,感觉用着挺好的,到把项目 ...

  8. 024、Java中字符串连接字符串拼接

    01.代码如下: package TIANPAN; /** * 此处为文档注释 * * @author 田攀 微信382477247 */ public class TestDemo { public ...

  9. android studio 入门坑

    安装 android studio,碰到下面这个图片,直接跳过. 安装时候,选择自定义设置,里面可以配置 sdk 的存放位置. 新建工程后,gradle sync 比较慢,可以 修改工程中的 buil ...

  10. 【转载】UnityWebRequest的初步使用及常用方法解析

    文章来源:https://blog.csdn.net/qwe25878/article/details/85051911#_35 今天,来学习一下Unity新的网络请求方式UnityWebReques ...