咏南中间件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前端,搭配咏南中间件后端,可以进行快速的企业应用开发.
随机推荐
- LeetCode(43):字符串相乘
Medium! 题目描述: 给定两个以字符串形式表示的非负整数 num1 和 num2,返回 num1 和 num2 的乘积,它们的乘积也表示为字符串形式. 示例 1: 输入: num1 = &quo ...
- cf1020c 瞎搞
枚举获胜状态即可 #include<iostream> #include<cstdio> #include<cstring> #include<cmath&g ...
- iOS学习笔记之触摸事件&UIResponder
iOS学习笔记之触摸事件&UIResponder 触摸事件 与触摸事件相关的四个方法如下: 一根手指或多根手指触摸屏幕 -(void)touchesBegan:(NSSet *)touches ...
- 集合Arraylist的方法的使用和打印
package chapter090; import java.util.ArrayList;import java.util.List; public class TestList01 { publ ...
- [转] Anaconda使用总结
机器上的不同用户完全可以安装.配置自己的Anaconda,不会互相影响. 对于Mac.Linux系统,Anaconda安装好后,实际上就是在主目录下多了个文件夹(~/anaconda)而已,Windo ...
- spoj694
题意:求不相同的子串个数 题解: 考虑一下后缀数组 yy一下就能发现答案就是n*(n+1)/2-sigma(i=1;i<=n;i++)height[i] 代码:
- Redis简单了解
Redis介绍 Redis(REmote DIctionary Server)是一个开源的使用ANSI C语言编写.遵守BSD协议.支持网络.可基于内存亦可持久化的日志型.Key-Value数据库, ...
- 域名解析到Nginx服务器项目上
第一步:先将域名解析到 IP 上 解析完后,如下 第二步:Nginx服务器配置servername 修改 /usr/local/nginx/conf/nginx.conf (你的配置文件可能不在这个目 ...
- 《Android进阶之光》--RxJava
No1: RxJava使用 dependencies{ compile 'io.reactivex:rxjava:1.2.0' compile 'io.reactivex:rxandroid:1.2. ...
- hdu3047 Zjnu Stadium【带权并查集】
<题目链接> <转载于 >>> > 题目大意: 有n个人坐在zjnu体育馆里面,然后给出m个他们之间的距离, A B X, 代表B的座位比A多X. 然后求出这 ...