找回密码
 立即注册

QQ登录

只需一步,快速开始

katherinebai

注册会员

4

主题

5

帖子

37

积分

注册会员

积分
37
最新发帖
katherinebai
注册会员   /  发表于:2016-8-10 15:52  /   查看:8208  /  回复:2
本帖最后由 katherinebai 于 2016-8-10 15:52 编辑

本节主要给大家介绍以下内容:OData是什么,有什么用? 活字格中的OData支持到什么程度,怎么用?后续小节中会详细介绍活字格中OData的语法和示例。

那么,什么是OData,有什么用呢?
OData(Open Data Protocol)是一种开放数据协议,描述如何创建和访问Restful服务。简单点说就是用来查询和更新数据的一种Web协议,其提供了把存在于应用程序中的数据暴露出来的方式。它是一种通用的跨语言的协议,可以非常方便的实现数据库的查询和更新。

活字格中的OData支持到什么程度?
目前活字格只支持从数据库中查询数据,暂不支持更新数据库。活字格总共提供了四种方式支持OData,分别是:公式,URL,自定义ServerAPI 和 WebAPI。
1. 活字格自定义了OData公式,用来获取数据库中的数据。用法:=ODATA(odataParam); 其中odataParam是字符串类型。例如,如果我们希望查找人员表中张三的年龄,可以使用下面的公式来获取:
  1. =ODATA("人员?$select=年龄&$filter=姓名 eq '张三'")
复制代码

2. 活字格支持在URL中输入OData参数获取数据库中的数据,并以JSON字符串的形式显示到网页上。用法:http://localhost:23102/OData/GetData/odataParam; 例如,我们希望列出年龄大于20岁的人员信息,可以使用下面的URL来获取:
  1. http://localhost:23102/OData/GetData/人员?$filter=年龄 gt 20
复制代码

3.活字格支持自定义ServerAPI,如果在自定义的ServerAPI中我们需要查询数据库中某张表的数据或者某个字段的数据,那么可以使用活字格提供的接口通过OData参数获取该数据。用法:this.DataAccess.GetTableData(odataParam); 其中,odataParam的类型是字符串。例如,如果需要获取人员表中字段年龄等于20岁的人的姓名,可以使用下面语句来获取:
  1. this.DataAccess.GetTableData("人员?$select=姓名&$filter=年龄 eq 20");
复制代码

4.活字格支持WebAPI,如果页面端我们希望在WebAPI中查询数据库中的某些数据,那么也可以使用活字格提供的接口通过OData参数获取该数据。用法:Forguncy.getTableDataByOData(odataParam:string, successCallback:function, errorCallback:function); 其中,successCallback和errorCallback都是回掉函数。例如,如果需要获取人员表总共有多少行数据,可以使用下面语句来获取:
  1. Forguncy.getTableDataByOData("人员/$count", function(data){ alert("共"+data+"行数据!"); }, function(error){ alert("错误:"+error); });
复制代码

在后续的小节中我们会详细的介绍活字格中OData的用法和示例以及一些注意事项。

2 个回复

倒序浏览
nancycui
葡萄城公司职员   /  发表于:2016-8-11 15:51:17
沙发
真棒,为我解决了不少疑问。
回复 使用道具 举报
barrylei
超级版主   /  发表于:2016-8-15 15:55:05
板凳
So cool!
我爱可乐
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 立即注册
返回顶部