获取表(Table)或视图(View)中主键(Primary Key)的特定范围内的多行数据。
Namespace: Aliyun.OpenServices.OpenTableService
Assembly: Aliyun.OpenServices (in Aliyun.OpenServices.dll) Version: 1.0.5290.21916
Syntax
Parameters
- criteria
- Type: Aliyun.OpenServices.OpenTableServiceRangeRowQueryCriteria
表示查询条件的RangeRowQueryCriteria对象。
Return Value
Type: IEnumerableRow包含表数据的Row对象的枚举器。
Implements
IOtsGetRowsByRange(RangeRowQueryCriteria)Exceptions
Exception | Condition |
---|---|
ArgumentException | criteria包含的信息无效。 |
OtsException | OTS访问返回错误消息。 |
WebException | 由于网络原因请求失败, - 或 - 访问超时。 |
InvalidOperationException | 返回结果解析错误。 |
Examples
using System; using System.Linq; using Aliyun.OpenServices.OpenTableService; namespace Aliyun.OpenServices.Samples.OpenTableService { class QuerySample { string endpoint = "http://ots.aliyuncs.com"; string accessId = "<your access id>"; string accessKey = "<your access key>"; public void GetRowsByRangeSample(string tableName) { // 构造查询条件,在tableName指定的表中进行查询。 var criteria = new RangeRowQueryCriteria(tableName); // 设置主键值和主键范围,查询uid为1,flag为true,name值大于'contact 2'的多行数据。 criteria.PrimaryKeys["uid"] = 1; criteria.PrimaryKeys["flag"] = true; criteria.Range = new PrimaryKeyRange("name", "contact 2", PrimaryKeyRange.InfMax); // 指定需要返回的列 criteria.ColumnNames.Add("groupid"); criteria.ColumnNames.Add("address"); // 构造OtsClient对象 var otsClient = new OtsClient(endpoint, accessId, accessKey); // 调用查询方法 try { var rows = otsClient.GetRowsByRange(criteria); foreach (var row in rows) { Console.WriteLine("Name: {0}", row.Columns["name"]); Console.WriteLine("Group ID: {0}", row.Columns["groupid"]); Console.WriteLine("Address: {0}", row.Columns["address"]); Console.WriteLine(); } } catch (OtsException ex) { Console.WriteLine("操作失败。OTS异常消息:" + ex.Message); // RequestId和HostId可以在有问题时用于联系客服诊断异常 Console.WriteLine("Request ID: {0}\tHostID: {1}", ex.RequestId, ex.HostId); } catch (System.Net.WebException ex) { Console.WriteLine("操作失败。网络异常:{0}。请检查Endpoint或网络链接。", ex.Message); } } } }
See Also