JSON序列——主从表查询
JSON序列——主从表查询
客户端代码:
procedure TForm1.Button4Click(Sender: TObject);
// 主从表 查询
begin
var url: TynUrl := TynUrl.Create;
var serial: TynJsonCross := TynJsonCross.Create;
var send: TMemoryStream := TMemoryStream.Create;
try
url.url := Edit1.Text;
url.command := 'query92'; // 命令
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
serial.Text := IdHTTP1.Post(url.text, send);
Memo1.Text := serial.Text;
// serial.ReadFDMemTable(0, FDMemTable1);
// serial.ReadFDMemTable(1, FDMemTable2);
finally
serial.DisposeOf;
send.DisposeOf;
url.DisposeOf;
end;
end;
服务端返回JSON:
{
"tables": [
{
"cols": [
{
"name": "goodsid",
"size": 8,
"type": "string"
},
{
"name": "barcode",
"size": 18,
"type": "string"
},
{
"name": "goodsname",
"size": 50,
"type": "string"
},
{
"name": "pyjm",
"size": 50,
"type": "string"
},
{
"name": "gg",
"size": 30,
"type": "string"
},
{
"name": "kindid",
"size": 8,
"type": "string"
},
{
"name": "jj",
"size": 4,
"type": "float"
},
{
"name": "lsj",
"size": 4,
"type": "float"
},
{
"name": "kcxx",
"size": 4,
"type": "float"
},
{
"name": "kcsx",
"size": 4,
"type": "float"
},
{
"name": "unitid",
"size": 8,
"type": "string"
},
{
"name": "unitname",
"size": 10,
"type": "string"
},
{
"name": "kindname",
"size": 30,
"type": "string"
}
],
"rows": [
{
"goodsid": "100036",
"barcode": "100036",
"goodsname": "秋冬四件套哦",
"pyjm": "",
"gg": "",
"kindid": "12002",
"jj": 100,
"lsj": 430,
"kcxx": 50,
"kcsx": 5,
"unitid": "15",
"unitname": "箱套",
"kindname": "床上用品"
},
{
"goodsid": "100050",
"barcode": "100050",
"goodsname": "天堂伞",
"pyjm": "wrth",
"gg": "",
"kindid": "1",
"jj": 10,
"lsj": 0,
"kcxx": 0,
"kcsx": 0,
"unitid": "15",
"unitname": "箱套",
"kindname": "1111"
},
{
"goodsid": "100054",
"barcode": "100054",
"goodsname": "我们的 哎",
"pyjm": "WMD D7",
"gg": "",
"kindid": "11002",
"jj": 0,
"lsj": 0,
"kcxx": 0,
"kcsx": 0,
"unitid": "18",
"unitname": "公斤",
"kindname": "饮料"
},
{
"goodsid": "100055",
"barcode": "100055",
"goodsname": "娃哈哈纯净水500ML",
"pyjm": "WHHCJS500ML",
"gg": "",
"kindid": "11001",
"jj": 0,
"lsj": 0,
"kcxx": 0,
"kcsx": 0,
"unitid": "18",
"unitname": "公斤",
"kindname": "奶粉"
}
]
},
{
"cols": [
{
"name": "unitid",
"size": 4,
"type": "string"
},
{
"name": "unitname",
"size": 6,
"type": "string"
}
],
"rows": [
{
"unitid": "11",
"unitname": "个"
},
{
"unitid": "12",
"unitname": "双"
}
]
}
]
}
JSON序列——主从表查询的更多相关文章
- C#主从表查询
软件的使用必然涉及到主表和子表的操作,我们先在SQLite中创建子表.比如 创建一学生信息表做主表,再创建一个学生成绩表做子表.然后我们在程序中成绩 方法来连接子表. 判断bindingsource中 ...
- 咏南中间件JSON序列类
咏南中间件JSON序列类 1)支持跨平台.跨语言 2)支持主从表数据序列.还原,支持任意数量的表 主从表数据序列为JSON字符串样式: { "rows": [ { "FD ...
- Django模板及表查询笔记
模板层 后端朝html页面传递数据 两种给html页面传递数据的方式 第一种: render(request,'index.html',{'user_list':user_list}) 第二种 ren ...
- 【mysql】 mybatis实现 主从表 left join 1:n 一对多 分页查询 主表从表都有查询条件 【mybatis】count 统计+JSON查询
mybatis实现 主从表 left join 1:n 一对多 分页查询 主表从表都有查询条件+count 需求: ======================================= ...
- Oracle组函数、多表查询、集合运算、数据库对象(序列、视图、约束、索引、同义词)等
count组函数:(过滤掉空的字段) select count(address),count(*) from b_user max() avg() min(),sum() select sum(age ...
- mysql中,创建包含json数据类型的表?创建json表时候的注意事项?查询json字段中某个key的值?
需求描述: 在mysql数据库中,创建包含json数据类型的表.记录下,在创建的过程中,需要注意的问题. 操作过程: 1.通过以下的语句,创建包含json数据类型的表 mysql> create ...
- Asp.Net MVC +EntityFramework主从表新增编辑操作的实现(删除操作怎么实现?)
Asp.Net MVC +EntityFramework主从表新增编辑操作的实现 对于MVC中同时对主从表的表单操作在网上现有的解决很少,而这样的操作在做业务系统中是经常为遇到的.我在网上搜索了很久都 ...
- django(3) 一对多跨表查询、ajax、多对多
1.一对多跨表查询获取数据的三种形式:对象.字典.元组 例:有host与business两张表,host与business的id字段关联,business在host表中的对象名是b, 通过查询hos ...
- Web框架之Django_05 模型层了解(单表查询、多表查询、聚合查询、分组查询)
摘要: 单表查询 多表查询 聚合查询 分组查询 一.Django ORM 常用字段和参数: 常用字段:#AutoFieldint自增列,必须填入参数primary_key = True,当model中 ...
随机推荐
- Python-JS事件与面向对象操作
目录一.函数高级 循环绑定: 使用循环绑定会出现的问题及解决方案: 二.面向对象 3.构造函数(ES5) 三.JS选择器 1.getElement系列(最严谨) 2.querySelector系列(最 ...
- Java7编程高级进阶学习笔记
本书PDF 下载地址: http://pan.baidu.com/s/1c141KGS 密码:v6i1 注:本文有空会跟新: 讲述的是jdk7的内容: 注关于java 更详细的内容请进入:<Ja ...
- 将日期或数据转换为char数据类型 TO_CHAR(x[[,c2],C3])
TO_CHAR(x[[,c2],C3])[功能]将日期或数据转换为char数据类型[参数]x是一个date或number数据类型.c2为格式参数c3为NLS设置参数如果x为日期nlsparm=NLS_ ...
- Java枚举的小知识点
enum 是jdk1.5引入的,使用它可以创建枚举类型,就像使用class创建类一样. enum关键字创建的枚举类型默认是java.lang.Enum(一个抽象类)的子类 用法1 常量 一般定义常量都 ...
- 性能测试十一:jmeter进阶之java请求
使用Java编写JDBC脚本对Mysql进行增删改查等操作的性能测试 使用Jmeter提供的脚本框架依赖的jar包(分别在jmeter目录下的lib和ext目录下) ApacheJMeter_core ...
- python+selenium四:iframe查看、定位、切换
iframe是HTML里面嵌套HTML的一种框架 1.查看iframe 1.Top Window:可直接定位 2.iframe#i:说明此元素在iframe上 3.iframe显示为空:(id或nam ...
- python创建__init.py__文件导入模块仍然报错ModuleNotFoundError: No module named 'name'
今自定义模块后非相同目录导出提示找不到模块报错信息如下: ModuleNotFoundError: No module named 'name' 各方查找各位大神方法很多 参考链接 1.在需要导入的文 ...
- jquery的clone方法应用于textarea和select的bug修复不能copy值,clone id重复的解决
textarea和select的值clone的时候会丢掉,在clone的时候将val再重新赋值一下,如果知道这个了就简单了, 测试发现,textarea和select的jquery的clone方法有问 ...
- 解决Win8系统修改IP地址后保存不了的方法
Win8系统用户表示在修改IP地址后,发现无法保存了.遇到这样的问题该怎么办?要怎么设置,win8系统才能在修改完IP地址后还能进行保存.接下来笔者就跟大家分享一个简单有效的方法. 具体步骤如下: 1 ...
- BZOJ4034 [HAOI2015]树上操作 树链剖分
欢迎访问~原文出处——博客园-zhouzhendong 去博客园看该题解 题目传送门 - BZOJ4034 题意概括 有一棵点数为 N 的树,以点 1 为根,且树点有边权.然后有 M 个 操作,分为三 ...