2 Unstar Star 3 Fork 3

szlbz / QF中间件Delphi

Create your Gitee Account
Explore and code with more than 5 million developers,Free private repositories !:)
Sign up
This repository doesn't specify license. Without author's permission, this code is only for learning and cannot be used for other purposes.
这是免费开源版,包含服务端和客户端全部源码,客户端只需使用2个控件就能完成数据的增删改查功能,使用方法非常简单。标准版增加了中间件以服务方式运行、企业微信信息推送、生成验证码等功能。 spread retract

Clone or download
szlbz authored zeosdbo
Cancel
Notice: Creating folder will generate an empty file .keep, because not support in Git
Loading...
README.md

QF中间件使用说明

QF中间件是在2020年春节期间出现新型冠状病毒感染的肺炎疫情不敢外出,闲来无事编写的,编程是业余爱好,平时编程只会拖控件,中间件可能存在未知Bug,这个版本也只实现了简单的增删改查功能,与已有的中间件功能差距巨大,请高手勿喷! QF中间件使用FDmemTable、mORMot和参考咏南开源mORMot中间件的基础上开发而成,QFDataSet包含QFRest、QFTable和QFQuery这3个控件)方便使用,QF中间件已测试MSSQL2000、postgresq、MySQL和SQLite等数据库,三层应用环境使用正常,ORACLE数据库没环境测试,MSSQL、SQLite和ORACLE使用mORMot自带数据引擎,其中SQLite直接将引擎编译到服务端程序不带DLL即可运行,MySQL和POSTGESQL使用免费开源控件zeosdbo-7.2.4)。 一、QF中间件特点: 使用开源免费三方控件(mORMot、zeosdbo),基于HTTPS.SYS比美IIS的大并发量。为保障安全,中间件使用HTTP SESSION验证,只为合法的SESSION提供服务。采用UTF-8编码格式,JSON数据序列和还原,支持跨平台、跨语言调用。 QF中间件同时解决了盒子论坛提出使用mORMot时遇到的若干问题,利用本中间件可以简单快捷编写三层应用。 http://bbs.2ccc.com/topic.asp?topicid=511839

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:断开服务器连接 7).QFRest.DownFile(const filename: String):integer 文件下载到当前文件夹 返回200—下载成功,404—下载失败(服务器没有对应的文件) 8).QFRest.UpFile(const filename: SockString): Integer;文件上传到服务器upload文件夹 返回200—上传成功 9).QFRest. GetFileList:取服务器端upload文件夹的文件列表(JSON格式)

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.PageNoMax:当前表最大页数 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 := PageSize; QFTable1.PageNo := pn-1;//改变这个值读取指定页的记录 QFTable1.Open; 12).打开下一页例子: QFTable1.PageSize := PageSize; 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

Comments ( 0 )

Sign in for post a comment

Delphi
1
https://gitee.com/szlbz/qf_middleware.git
git@gitee.com:szlbz/qf_middleware.git
szlbz
qf_middleware
QF中间件
master

Search

131423 f1aaba0b 1899542 094922 1c74bed3 1899542