以前,我们通过自己写json 来返回数据表的内容。在delphi 10.2.2中,官方自带了一个FDBatchMoveJSONWriter1

来直接处理数据库内容。把结果推送到浏览器客户端。

今天我们就利用kbmmw 自身的功能,做一个类似的东西。

在主界面放上相关的数据库访问控件

首先在服务上放两个东西

一个查询,一个kbmmwjsonstreamformat.

定义相关的函数

     [kbmMW_Rest('method:get, path:getdata')]
[kbmMW_Method]
function getdata([kbmMW_Rest('value: "$tname", required: true')] const tname:string):string;

并完成对应的执行代码

function TkbmMWCustomHTTPSmartService1.getdata(const tname: string): string;
var
ms:Tstringstream;
sjson:TkbmMWJSONStreamer;
alljson,outjson: TkbmMWJSONObject;
datajson: TkbmMWJSONArray;
begin
if tname='' then
begin
result:='{"result":"表名为空!"}';
exit;
end;
cx.SQL.Clear;
cx.SQL.Add('select * from '+tname);
cx.Open;
if cx.IsEmpty then
begin
result:='{"result":"数据为空!"}';
exit;
end;
ms:=Tstringstream.Create;
sjson:=TkbmMWJSONStreamer.Create;
outjson:=TkbmMWJSONObject.Create; try
cx.SaveToStreamViaFormat(ms,kbmMWJSONStreamFormat1);
ms.Position:=;
alljson:=TkbmMWJSONObject(sjson.LoadFromUTF8Stream(ms));
datajson:=TkbmMWJSONArray(alljson.AsArray['data']);
outjson.AsArray[tname]:=datajson;
result:= sjson.SaveToUTF16String(outjson)
finally
ms.Free;
sjson.Free;
outjson.Free;
end; end;

由于kbmmw 的数据库存json , 包含了其它信息,我们就把不用的信息干掉。

完成后,运行程序

浏览器中输入对应的URL

http://127.0.0.1/xalionrest/getdata?tname=emp

就得到了输出结果

其实也是很方便的。

kbmmw 中简单返回 extjs 数据JSON的更多相关文章

  1. C#中当服务器返回的数据json中key的值为数字类型,解决方案

    客户端向服务器发送请求后,服务器返回了一个json格式的字符串但是格式中key的值有些事数字{"1000":"55555"}; 类似这种格式的话就不能直接转化成 ...

  2. ionic中将service中异步返回的数据赋值给controller的$scope

    1.service中异步获取数据实例 angular.module('starter.services', []) .factory('Chats', function($http,$q) {//定义 ...

  3. PHP中ajax返回数据类型为JSON数据的处理

    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/ ...

  4. 【转】ASP.NET Core WebAPI JWT Bearer 认证失败返回自定义数据 Json

    应用场景:当前我们给微信小程序提供服务接口,接口中使用了权限认证这一块,当我使用 JWT Bearer 进行接口权限认证的时候,返回的结果不是我们客户端想要的,其它我们想要给客户端返回统一的数据结构, ...

  5. 使用kbmmw smarthttpservice 简单返回数据库结果

    这个很简单,直接上码. 服务器端声明过程 [kbmMW_Rest('method:get, path:querytable')] [kbmMW_Method] function querytable( ...

  6. 关于spring中请求返回值的json序列化/反序列化问题

    https://cloud.tencent.com/developer/article/1381083 https://www.jianshu.com/p/db07543ffe0a 先留个坑

  7. Ajax在静态页面中向指定url发送json请求获取返回的json数据

    <html> <head> <meta http-equiv="Content-Type" content="text/html; char ...

  8. kbmmw 中JSON 操作入门

    现在各种系统中JSON 用的越来越多.delphi 也自身支持JSON 处理. 今天简要说一下kbmmw 内部如何使用和操作JSON. kbmmw 中json的操作是以TkbmMWJSONStream ...

  9. 为什么返回的数据前面有callback? ashx/json.ashx?的后面加 callback=? 起什么作用 js url?callback=xxx xxx的介绍 ajax 跨域请求时url参数添加callback=?会实现跨域问题

    为什么返回的数据前面有callback?   这是一个同学出现的问题,问到了我. 应该是这样的: 但问题是这样的: 我看了所请求的格式和后台要求的也是相同的.而且我也是这种做法,为什么他的就不行呢? ...

随机推荐

  1. CentOS 端口映射

    一个合作单位给我创建了十几台虚拟服务器做支撑.但是只给负载均衡绑定了公网IP.由于这个支撑的服务需要测试和调优,经常要往服务器上传class或者修改数据库.为了方便操作,我打算在负载均衡服务器上做端口 ...

  2. 关于set_output_delay与set_input_delay概念与用法

    一.  这两条约束语句都是针对板级延时而言的. 语句中必须的有是,时钟与port. 二.   set_input_delay 用于数据输入端口,调节数据输入与时钟输入到来的相位关系. 当FPGA外部送 ...

  3. FZU-1752.(A^B mod C)(快速幂与快速乘优化)

    我把自己演哭了... 心酸.jpg 写了很多个版本的,包括数学公式暴力,快速幂TLE等等,最后想到了优化快速幂里的乘法,因为会爆longlong,但是和别人优化的效率简直是千差万别...? 本题大意: ...

  4. oracle视图(转)

    视图的概念   视图是基于一张表或多张表或另外一个视图的逻辑表.视图不同于表,视图本身不包含任何数据.表是实际独立存在的实体,是用于存储数据的基本结构.而视图只是一种定义,对应一个查询语句.视图的数据 ...

  5. CTF题-http://120.24.86.145:8002/flagphp/:Bugku----flag.php

    今天做了一道关于序列化的题目,收益颇多,愉快地开始. 首先,提示了“hint”,所以尝试加入hint参数.这儿没啥好说的,最后hint=1显示了重点内容.如下图所示 没错,是金灿灿的网页代码,开心,仔 ...

  6. PTA 7-9 旅游规划(SPFA)

    有了一张自驾旅游路线图,你会知道城市间的高速公路长度.以及该公路要收取的过路费.现在需要你写一个程序,帮助前来咨询的游客找一条出发地和目的地之间的最短路径.如果有若干条路径都是最短的,那么需要输出最便 ...

  7. MySQL-查缺补漏

    MySQL show create table tablename #查看表设计代码数据 show create table tablename/G #同上 desc tablename # 查看表数 ...

  8. Delphi: RTTI与ini配置文件

    项目以Rtti特性做文件参数配置,简化每项读写ini操作,记录以做备忘,代码如下: unit uGlobal; interface uses Windows, Messages, SysUtils, ...

  9. 【C】C语言中的_exit()与exit()

    _exit()和exit()主要区别是一个退出进程会清理I/O缓冲区,一个直接结束进程进入到内核中. 举例说明: #include <stdio.h> /*demo01 程序只输出 hel ...

  10. RESTful接口规范

    一. 什么是RESTful REST与技术无关,代表的是一种软件架构风格,REST是Representational State Transfer的简称,中文翻译为“表征状态转移” REST从资源的角 ...