博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
2.Rest Server提供数据库的Json字符串
阅读量:4626 次
发布时间:2019-06-09

本文共 1766 字,大约阅读时间需要 5 分钟。

 Delphi最大的特点是数据库操作便捷。为了能够给App提供数据,这里采用Rest Server后台,然后在用Json文件发送到APP前台。

    1.后台的dataset转换为json。

       这里百度后就可以找到相应的代码,直接可以参考:

function DataSetToJson(ADataset: TDataSet): string;// [{"CityId":"18","CityName":"西安"},{"CityId":"53","CityName":"广州"}]var  LRecord: string;  LField: TField;  i: integer;begin  Result := '[';  if (not ADataset.Active) or (ADataset.IsEmpty) then Exit; //Result := ''; //2018.4.10 ADataset.DisableControls; ADataset.First; while not ADataset.Eof do begin for i := 0 to ADataset.FieldCount - 1 do begin LField := ADataset.Fields[i]; if LRecord = '' then LRecord := '{"' + LField.FieldName + '":"' + LField.Text + '"' else LRecord := LRecord + ',"' + LField.FieldName + '":"' + LField.Text + '"'; if i = ADataset.FieldCount - 1 then begin LRecord := LRecord + '}'; if Result = '[' then Result := Result + LRecord else Result := Result + ',' + LRecord; LRecord := ''; end; end; ADataset.Next; end; ADataset.EnableControls; Result := Result+']';//rightstr(Result,length(result)-1) ; //2018.4.10 end;

    2.为App提供Json函数

      (1).函数定义:

function GetJsonAccess:string;

       (2)函数的具体代码:

function TServerMethods1.GetJsonAccess: string;begin  result:=DataSetToJson(ADOQuery1) ;end;

        注意事项:这里函数的返回值,可以用TJSONArray,也可以直接用string。我这里用string到是更简洁一些。

        后台运行后,通过浏览器可以访问json结果,如后台地址为:

http://192.168.3.2:8080/datasnap/rest/TServerMethods1/GetJsonAccess/  ,结果为:    {"result":["[{\"memID\":\"1\",\"username\":\"zs\",\"password\":\"111111\",\"name\":\"\u5F20\u4E09\"},{\"memID\":\"2\",\"username\":\"ls\",\"password\":\"222222\",\"name\":\"\u674E\u56DB\"},{\"memID\":\"3\",\"username\":\"ww\",\"password\":\"333333\",\"name\":\"\u738B\u4E94\"}]"]}    通过对json的分析,我们可以看到最外层是result字段,内容为一个json数组,然后最里面是数据表中的字段和相对于应的值。通过对该json数据的分析,以便于我们在app中进行遍历。

转载于:https://www.cnblogs.com/KKSoft/p/8798665.html

你可能感兴趣的文章
QT Creator 快速入门教程 读书笔记(一)
查看>>
CNN之yolo目标检测算法复习总结
查看>>
day17,模块的导入
查看>>
JavaScript网站设计实践(三)设计有特色的主页,给主页链接添加JavaScript动画脚本...
查看>>
Windows系统架构
查看>>
单链表上查找算法的实现(0955) swust-oj
查看>>
AU版有锁机的福利,704越狱彻底解决+86问题,完美IM/FT,重启不掉APN设置
查看>>
PCA的数学原理
查看>>
Flask Web Development —— Web表单(上)
查看>>
Struts2标签
查看>>
PHP知识结构
查看>>
1282. Game Tree
查看>>
关于iOS招聘面试的一些问题
查看>>
extjs grid renderer用法
查看>>
PAT Basic 1072
查看>>
作业分析,Karger最小割:(python)Engineering: Algorithms1 - SELF PACED Algorithms: Design and Analysis...
查看>>
[JS-JQuery]基础
查看>>
“cyl projection cannot cross pole” 解决方法
查看>>
[亲测]在Mac下配置php开发环境:Apache+php+MySql
查看>>
mono修改配置
查看>>