咏南中间件JSON序列类
咏南中间件JSON序列类
1)支持跨平台、跨语言
2)支持主从表数据序列、还原,支持任意数量的表
主从表数据序列为JSON字符串样式:
{
"rows": [
{
"FDBS": {
"Version": 15,
"Manager": {
"UpdatesRegistry": true,
"TableList": [
{
"class": "Table",
"Name": "qryOpen",
"SourceName": "tgoods",
"SourceID": 1,
"TabID": 0,
"EnforceConstraints": false,
"MinimumCapacity": 50,
"CheckReadOnly": false,
"ColumnList": [
{
"class": "Column",
"Name": "goodsid",
"SourceName": "goodsid",
"SourceID": 1,
"DataType": "AnsiString",
"Size": 8,
"Searchable": true,
"Base": true,
"OInUpdate": true,
"OInWhere": true,
"OInKey": true,
"OriginColName": "goodsid",
"SourcePrecision": 8,
"SourceSize": 8
},
{
"class": "Column",
"Name": "barcode",
"SourceName": "barcode",
"SourceID": 2,
"DataType": "AnsiString",
"Size": 18,
"Searchable": true,
"AllowNull": true,
"Base": true,
"OAllowNull": true,
"OInUpdate": true,
"OInWhere": true,
"OriginColName": "barcode",
"SourcePrecision": 18,
"SourceSize": 18
},
{
"class": "Column",
"Name": "goodsname",
"SourceName": "goodsname",
"SourceID": 3,
"DataType": "AnsiString",
"Size": 50,
"Searchable": true,
"Base": true,
"OInUpdate": true,
"OInWhere": true,
"OriginColName": "goodsname",
"SourcePrecision": 50,
"SourceSize": 50
},
{
"class": "Column",
"Name": "pyjm",
"SourceName": "pyjm",
"SourceID": 4,
"DataType": "AnsiString",
"Size": 50,
"Searchable": true,
"AllowNull": true,
"Base": true,
"OAllowNull": true,
"OInUpdate": true,
"OInWhere": true,
"OriginColName": "pyjm",
"SourcePrecision": 50,
"SourceSize": 50
},
{
"class": "Column",
"Name": "gg",
"SourceName": "gg",
"SourceID": 5,
"DataType": "AnsiString",
"Size": 30,
"Searchable": true,
"AllowNull": true,
"Base": true,
"OAllowNull": true,
"OInUpdate": true,
"OInWhere": true,
"OriginColName": "gg",
"SourcePrecision": 30,
"SourceSize": 30
},
{
"class": "Column",
"Name": "kindid",
"SourceName": "kindid",
"SourceID": 6,
"DataType": "AnsiString",
"Size": 8,
"Searchable": true,
"AllowNull": true,
"Base": true,
"OAllowNull": true,
"OInUpdate": true,
"OInWhere": true,
"OriginColName": "kindid",
"SourcePrecision": 8,
"SourceSize": 8
},
{
"class": "Column",
"Name": "jj",
"SourceName": "jj",
"SourceID": 7,
"DataType": "BCD",
"Precision": 18,
"Scale": 4,
"Searchable": true,
"AllowNull": true,
"Base": true,
"OAllowNull": true,
"OInUpdate": true,
"OInWhere": true,
"OriginColName": "jj",
"SourcePrecision": 18,
"SourceScale": 4
},
{
"class": "Column",
"Name": "lsj",
"SourceName": "lsj",
"SourceID": 8,
"DataType": "BCD",
"Precision": 18,
"Scale": 4,
"Searchable": true,
"AllowNull": true,
"Base": true,
"OAllowNull": true,
"OInUpdate": true,
"OInWhere": true,
"OriginColName": "lsj",
"SourcePrecision": 18,
"SourceScale": 4
},
{
"class": "Column",
"Name": "kcxx",
"SourceName": "kcxx",
"SourceID": 9,
"DataType": "BCD",
"Precision": 18,
"Scale": 4,
"Searchable": true,
"AllowNull": true,
"Base": true,
"OAllowNull": true,
"OInUpdate": true,
"OInWhere": true,
"OriginColName": "kcxx",
"SourcePrecision": 18,
"SourceScale": 4
},
{
"class": "Column",
"Name": "kcsx",
"SourceName": "kcsx",
"SourceID": 10,
"DataType": "BCD",
"Precision": 18,
"Scale": 4,
"Searchable": true,
"AllowNull": true,
"Base": true,
"OAllowNull": true,
"OInUpdate": true,
"OInWhere": true,
"OriginColName": "kcsx",
"SourcePrecision": 18,
"SourceScale": 4
},
{
"class": "Column",
"Name": "unitid",
"SourceName": "unitid",
"SourceID": 11,
"DataType": "AnsiString",
"Size": 8,
"Searchable": true,
"AllowNull": true,
"Base": true,
"OAllowNull": true,
"OInUpdate": true,
"OInWhere": true,
"OriginColName": "unitid",
"SourcePrecision": 8,
"SourceSize": 8
},
{
"class": "Column",
"Name": "unitname",
"SourceName": "unitname",
"SourceID": 12,
"DataType": "AnsiString",
"Size": 10,
"Searchable": true,
"AllowNull": true,
"Base": true,
"OAllowNull": true,
"OInUpdate": true,
"OInWhere": true,
"OriginColName": "unitname",
"SourcePrecision": 10,
"SourceSize": 10
},
{
"class": "Column",
"Name": "kindname",
"SourceName": "kindname",
"SourceID": 13,
"DataType": "AnsiString",
"Size": 30,
"Searchable": true,
"AllowNull": true,
"Base": true,
"OAllowNull": true,
"OInUpdate": true,
"OInWhere": true,
"OriginColName": "kindname",
"SourcePrecision": 30,
"SourceSize": 30
}
],
"ConstraintList": [],
"ViewList": [],
"RowList": [
{
"RowID": 0,
"Original": {
"goodsid": "100036",
"barcode": "100036",
"goodsname": "秋冬四件套哦",
"pyjm": "",
"gg": "",
"kindid": "12002",
"jj": 100,
"lsj": 430,
"kcxx": 50,
"kcsx": 5,
"unitid": "15",
"unitname": "箱套",
"kindname": "床上用品"
}
},
{
"RowID": 1,
"Original": {
"goodsid": "100050",
"barcode": "100050",
"goodsname": "天堂伞",
"pyjm": "wrth",
"gg": "",
"kindid": "1",
"jj": 10,
"lsj": 0,
"kcxx": 0,
"kcsx": 0,
"unitid": "15",
"unitname": "箱套",
"kindname": "1111"
}
},
{
"RowID": 2,
"Original": {
"goodsid": "100054",
"barcode": "100054",
"goodsname": "我们的 哎",
"pyjm": "WMD D7",
"gg": "",
"kindid": "11002",
"jj": 0,
"lsj": 0,
"kcxx": 0,
"kcsx": 0,
"unitid": "18",
"unitname": "公斤",
"kindname": "饮料"
}
},
{
"RowID": 3,
"Original": {
"goodsid": "100055",
"barcode": "100055",
"goodsname": "娃哈哈纯净水500ML",
"pyjm": "WHHCJS500ML",
"kindid": "11001",
"jj": 0,
"lsj": 0,
"kcxx": 0,
"kcsx": 0,
"unitid": "18",
"unitname": "公斤",
"kindname": "奶粉"
}
}
]
}
],
"RelationList": [],
"UpdatesJournal": {
"Changes": []
}
}
}
},
{
"FDBS": {
"Version": 15,
"Manager": {
"UpdatesRegistry": true,
"TableList": [
{
"class": "Table",
"Name": "qryOpen",
"SourceName": "tunit",
"SourceID": 1,
"TabID": 0,
"EnforceConstraints": false,
"MinimumCapacity": 50,
"CheckReadOnly": false,
"ColumnList": [
{
"class": "Column",
"Name": "unitid",
"SourceName": "unitid",
"SourceID": 1,
"DataType": "AnsiString",
"Size": 4,
"Searchable": true,
"Base": true,
"OInUpdate": true,
"OInWhere": true,
"OInKey": true,
"OriginColName": "unitid",
"SourcePrecision": 4,
"SourceSize": 4
},
{
"class": "Column",
"Name": "unitname",
"SourceName": "unitname",
"SourceID": 2,
"DataType": "AnsiString",
"Size": 6,
"Searchable": true,
"AllowNull": true,
"Base": true,
"OAllowNull": true,
"OInUpdate": true,
"OInWhere": true,
"OriginColName": "unitname",
"SourcePrecision": 6,
"SourceSize": 6
}
],
"ConstraintList": [],
"ViewList": [],
"RowList": [
{
"RowID": 0,
"Original": {
"unitid": "11",
"unitname": "个"
}
},
{
"RowID": 1,
"Original": {
"unitid": "12",
"unitname": "双"
}
}
]
}
],
"RelationList": [],
"UpdatesJournal": {
"Changes": []
}
}
}
}
]
}
主从表查询调用代码:
procedure TForm1.btnQueryClick(Sender: TObject);
// 主从表 查询
begin
var url: TynUrl := TynUrl.Create;
var serial: TynJsonSerial := TynJsonSerial.Create;
var send: TMemoryStream := TMemoryStream.Create;
try
url.url := Edit1.Text;
url.command := 'query91'; // 命令
url.params.Add('count=2'); // 查询几个表的数据
url.params.Add('accountno=1'); // 帐套号
url.params.Add('sql=select * from tgoods'); // 查询SQL
url.params.Add('sql2=select * from tunit'); // 查询SQL2
// Memo1.Text := IdHTTP1.Post(url.text, send);
serial.Text := IdHTTP1.Post(url.text, send);
serial.ReadFDMemTable(0, FDMemTable1);
serial.ReadFDMemTable(1, FDMemTable2);
finally
serial.DisposeOf;
send.DisposeOf;
url.DisposeOf;
end;
end;
主从表提交调用代码:
procedure TForm1.btnPostClick(Sender: TObject);
// 主从表 提交
begin
var url: TynUrl := TynUrl.Create;
var serial: TynJsonSerial := TynJsonSerial.Create;
var send: TMemoryStream := TMemoryStream.Create;
try
url.url := Edit1.Text;
url.command := 'save91'; // 命令
url.params.Add('count=2'); // 提交几个表的数据
url.params.Add('accountno=1'); // 帐套号
url.params.Add('tablename=tgoods'); // 表名
url.params.Add('tablename2=tunit'); // 表名2
url.params.Add('delta=' + serial.FDDeltaToJson(FDMemTable1)); // delta
url.params.Add('delta2=' + serial.FDDeltaToJson(FDMemTable2)); // delta2
serial.Text := IdHTTP1.Post(url.text, send);
if Pos('true', serial.Text) > 0 then
ShowMessage('数据提交成功')
else
ShowMessage('数据提交失败');
finally
serial.DisposeOf;
send.DisposeOf;
url.DisposeOf;
end;
end;
咏南中间件JSON序列类的更多相关文章
- 咏南中间件D7客户端演示
咏南中间件D7客户端演示 咏南中间件MORMOT(http.sys)支持D6.D7等老版本开发客户端.客户端使用TClientDataSet内存表控件,数据序列使用TynSerial类.
- 咏南中间件+开发框架支持最新的DELPHI XE10.1(BERLIN) UPDATE1
咏南中间件+开发框架支持最新的DELPHI XE10.1(BERLIN) UPDATE1 购买提供:中间件源码,价格十分优惠!有意者请向本人索取演示程序! 附带福利(赠送): CS开发框架源码BS开发 ...
- delphi 10.1 berlin最新的开发框架:咏南中间件+咏南开发框架,购买后提供全部的源码
咏南中间件+咏南开发框架支持最新的delphi 10.1(berlin),老用户提供免费升级. 购买提供:中间件源码 附带福利(赠送): CS开发框架源码BS开发框架源码移动APP源码中间件集群源码二 ...
- 专门为ADO二层升三层的咏南中间件(特种用途)
专门为ADO二层升三层的咏南中间件(特种用途) 演示下载:链接: https://pan.baidu.com/s/1bulGBIZ6A1nkeErxIrGsGA 密码: 22dk 解压后运行ynmai ...
- 咏南中间件支持JWT TOKEN
咏南中间件支持JWT TOKEN
- 咏南中间件新增MORMOT移动端演示
咏南中间件新增MORMOT移动端演示 基于FMX,支持安卓.IOS移动端. 1)使用INDY 的HTTP控件进行查询: procedure TForm1.查询1Click(Sender: TObjec ...
- 咏南中间件支持DELPHI6及以上版本开发的客户端
咏南中间件支持DELPHI6及以上版本开发的客户端 下面是测试用DELPHI7开发的客户端,调用DELPHI10.3.1开发的中间件,完全兼容. 这样,有利于维护原来用D7开发的老程序. 如上所述,只 ...
- 咏南中间件开始支持redis client接口调用
咏南中间件开始支持redis client接口调用 咏南中间件封装了redis client接口,可以支持REDIS了. 如下图,将数据集写入REDIS缓存,和从REDIS缓存获取数据: proced ...
- 咏南中间件支持TMS WEB CORE客户端
咏南中间件支持TMS WEB CORE客户端 TMS WEB CORE是优秀的JS前端,搭配咏南中间件后端,可以进行快速的企业应用开发.
随机推荐
- Python源码学习(一)
考虑到性能的要求,我在工作中用的最多的是c/c++,然而,工作中又经常会有一些验证性的工作,这些工作对性能的要求并不高,反而对完成的效率要求更高,对于这样的工作,用一种开发效率高的语言是合理的想法,鉴 ...
- cf Queries on a String
#include<iostream> #include<cstring> #include<cstdio> using namespace std; #define ...
- cf276E 两棵线段树分别维护dfs序和bfs序,好题回头再做
搞了一晚上,错了,以后回头再来看 /* 对于每次更新,先处理其儿子方向,再处理其父亲方向 处理父亲方向时无法达到根,那么直接更新 如果能达到根,那么到兄弟链中去更新,使用bfs序 最后,查询结点v的结 ...
- 性能测试三十三:监控之Linux系统监控命令大全
1.top命令top命令是Linux下常用的性能分析工具,能够实时显示系统中各个进程的资源占用状况,类似于Windows的任务管理器.下面详细介绍它的使用方法.top - 01:06:48 up 1: ...
- 格式化输出的方法:%、.format()、f
a = '123'a1 = '456'a2 = '789' %占位符 text = "a=%s"%atext1 = "a=%s,a1=%s,a2=%s"%(a, ...
- ADO.NET的五大对象【转】
ADO.NET是一组用于和数据源进行交换的面向对象类库.通常情况下,数据源是数据库,也可以是文本文件.Excel表或XML文件.ADO.NET的主要类对象有Connection.Command.Dat ...
- java判断给定路径或URL下的文件或文件夹是否存在?
if (file.exists()) { 来判断这是不是一个文件. file.isDirectory() 来判断这是不是一个文件夹. 1.File testFile = new File(testFi ...
- 练习题|python常用模块
re模块练习 1.验证手机号是否合法 import re phone_pat = re.compile('^(13\d|14[5|7]\d|15\d|166|17[3|6|7]|18\d)\d{8}$ ...
- Linux proc目录下 几个系统文件下的各项参数 (cpuinfo,uptime,meminfo,stat,loadavg)
参考链接: Linux 操作系统内核基本实验.pdf http://max.book118.com/html/2015/0919/25787869.shtm Linux下cpuinfo文件各项参数的详 ...
- 2019最新最全HUSTOJ本地及云端服务器搭建(基于腾讯云服务器)
在刚接触ACM的时候,对于那些在线测评的网站很感兴趣,就在网上搜索了一下,在Github上发现了一个有趣的项目,然后在 Github 上获取 了HUST OJ 的开源项目代码,根据网上的教程踩了无数的 ...