katherinebai 发表于 2016-8-10 15:52:02

活字格对OData的支持

本帖最后由 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是字符串类型。例如,如果我们希望查找人员表中张三的年龄,可以使用下面的公式来获取:
=ODATA("人员?$select=年龄&$filter=姓名 eq '张三'")
2. 活字格支持在URL中输入OData参数获取数据库中的数据,并以JSON字符串的形式显示到网页上。用法:http://localhost:23102/OData/GetData/odataParam; 例如,我们希望列出年龄大于20岁的人员信息,可以使用下面的URL来获取:
http://localhost:23102/OData/GetData/人员?$filter=年龄 gt 20
3.活字格支持自定义ServerAPI,如果在自定义的ServerAPI中我们需要查询数据库中某张表的数据或者某个字段的数据,那么可以使用活字格提供的接口通过OData参数获取该数据。用法:this.DataAccess.GetTableData(odataParam); 其中,odataParam的类型是字符串。例如,如果需要获取人员表中字段年龄等于20岁的人的姓名,可以使用下面语句来获取:
this.DataAccess.GetTableData("人员?$select=姓名&$filter=年龄 eq 20");
4.活字格支持WebAPI,如果页面端我们希望在WebAPI中查询数据库中的某些数据,那么也可以使用活字格提供的接口通过OData参数获取该数据。用法:Forguncy.getTableDataByOData(odataParam:string, successCallback:function, errorCallback:function); 其中,successCallback和errorCallback都是回掉函数。例如,如果需要获取人员表总共有多少行数据,可以使用下面语句来获取:
Forguncy.getTableDataByOData("人员/$count", function(data){ alert("共"+data+"行数据!"); }, function(error){ alert("错误:"+error); });
在后续的小节中我们会详细的介绍活字格中OData的用法和示例以及一些注意事项。

nancycui 发表于 2016-8-11 15:51:17

真棒,为我解决了不少疑问。

barrylei 发表于 2016-8-15 15:55:05

So cool!
页: [1]
查看完整版本: 活字格对OData的支持