找回密码
 立即注册

QQ登录

只需一步,快速开始

TimZhang

中级会员

10

主题

78

帖子

658

积分

中级会员

积分
658
TimZhang
中级会员   /  发表于:2019-5-7 14:54  /   查看:25734  /  回复:47
首先声明一下,这帖子很长很长,我会尽量精简文字,用较少的叙述去描述更长的故事。


大家都知道,活字格 5.0 版本已经开始支持存储过程。于是乎,便有网友希望利用存储过程干更多的事,就比如:返回一个数据表,更专业些该称其为查询结果集。
虽然我不知道为什么要用存储过程来做这件事,本着有问题迎难而上的原则,我就在此开一帖,好好说下如何实现这个需求。

实验开始:
这里有一张数据表 BigDataTesting,里面有很多数据。我需要设计一个存储过程,根据指定的数值,返回该数据表中前 N 行数据。

我将存储过程定义如下:

意思是:接收一个输入参数 @rowCount,用来指定 N,然后查询数据表中前 N 行记录,并将其输出到 @result。
需要注意,这里的输出结果以 XML 文本形式保存,效果如下:

到这里,数据库方面已经准备完毕。
下面,我们打开活字格设计器,添加一个“存储过程调用命令”,配置如图所示:

运行项目,在浏览器端点击“查询”按钮,可以看到查询结果集以 XML 文本形式返回至浏览器。
有此我们可以断定,在活字格中用“存储过程调用命令”去获取查询结果集,在实践上是可行的。

那么,接下来我们将在前端借助 JavaScript 语言,将 XML 文本转换成 JavaScript 对象,俗称 JSON。
在具体编写代码之前,还需做一些前端准备工作,直接上图:



这里先给大家预览一下,我们的 JSON 究竟长什么样?

可以看到,将 XML 文本转换成 JSON 这一步,也已验证完毕。
那么,如何将 JSON 直观地展示给用户呢?
首先,你需要在活字格中创建一张数据表,用来临时 show 查询结果集。此处,我就称它为 SearchResult。

大家会发现,这里的字段名,跟前面的 BigDataTest 表完全一致。
没错,为了简明扼要,我们的命名完全一致。其实随便你怎么命名,只要字段的数据类型兼容即是 OK。
下面,我们在页面中添加一个表格,使其与 SearchResult 数据表绑定。

由于我们创建 SearchResult 目的只是为了数据展示,根本没打算将数据提交。请将表格设置为“数据松绑定”

给表格中的列命名,名称随意,这里我们采取概念一致原则,没有另起其它别名。

最后,完善 JavaScript 脚本。
大家会发现,忙了这么久,原来只需要写这么几行文字就完事了。
对的,大量的精力都在于环境配置。

重新运行项目,点击“查询”按钮,存储过程查询结果集全部显示在表格中。


实验完毕!

照例,工程文件奉上!



本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?立即注册

x

评分

参与人数 6金币 +66 满意度 +25 收起 理由
David.Zhong + 66
孤狼 + 5
cg6207 + 5 很给力!
咖啡里 + 5
carl_chen + 5 很给力!
mucai + 5 很给力!

查看全部评分

47 个回复

正序浏览
David.Zhong讲师达人认证 悬赏达人认证 活字格认证
论坛元老   /  发表于:2023-8-7 17:34:04
48#
回复 使用道具 举报
达达
注册会员   /  发表于:2023-8-7 17:05:55
47#
受教了,这方法确实可以
回复 使用道具 举报
David.Zhong讲师达人认证 悬赏达人认证 活字格认证
论坛元老   /  发表于:2022-1-20 18:41:39
46#
鲁磊 发表于 2022-1-20 16:38
大佬你好,这个方法导出报表时候为什么是空的啊

大佬检查下是不是哪一步不小心搞错了?
并且没有demo的话,很难帮大佬分析哈~
回复 使用道具 举报
鲁磊
高级会员   /  发表于:2022-1-20 16:38:13
45#
大佬你好,这个方法导出报表时候为什么是空的啊
回复 使用道具 举报
David.Zhong讲师达人认证 悬赏达人认证 活字格认证
论坛元老   /  发表于:2021-8-4 18:00:18
44#
孤狼 发表于 2021-8-4 15:56
太惭愧了,看了这么多帖子,还是好多都不会啊

学无止境啊,我们也是在向大家学习,没事,大家一起加油~
回复 使用道具 举报
孤狼悬赏达人认证 活字格认证
高级会员   /  发表于:2021-8-4 15:56:14
43#
David.Zhong 发表于 2021-8-4 14:31
大佬的帖子查看已经有7000+了,确实厉害

太惭愧了,看了这么多帖子,还是好多都不会啊
回复 使用道具 举报
David.Zhong讲师达人认证 悬赏达人认证 活字格认证
论坛元老   /  发表于:2021-8-4 14:31:23
42#
孤狼 发表于 2021-8-4 10:30
非常感谢!您2年前的帖子对我帮助太大了!

大佬的帖子查看已经有7000+了,确实厉害
回复 使用道具 举报
孤狼悬赏达人认证 活字格认证
高级会员   /  发表于:2021-8-4 10:30:27
41#
非常感谢!您2年前的帖子对我帮助太大了!
回复 使用道具 举报
David.Zhong讲师达人认证 悬赏达人认证 活字格认证
论坛元老   /  发表于:2021-7-13 09:42:45
40#

感谢爱学习的小伙伴们的支持哟~
回复 使用道具 举报
12345下一页
您需要登录后才可以回帖 登录 | 立即注册
返回顶部