IOtsGetRowsByRange Method (RangeRowQueryCriteria)Aliyun Open Services SDK for .NET
获取表(Table)或视图(View)中主键(Primary Key)的特定范围内的多行数据。

Namespace: Aliyun.OpenServices.OpenTableService
Assembly: Aliyun.OpenServices (in Aliyun.OpenServices.dll) Version: 1.0.5290.21916
Syntax

IEnumerable<Row> GetRowsByRange(
	RangeRowQueryCriteria criteria
)

Parameters

criteria
Type: Aliyun.OpenServices.OpenTableServiceRangeRowQueryCriteria
表示查询条件的RangeRowQueryCriteria对象。

Return Value

Type: IEnumerableRow
包含表数据的Row对象的枚举器。
Exceptions

ExceptionCondition
ArgumentExceptioncriteria包含的信息无效。
OtsException

OTS访问返回错误消息。

WebException

由于网络原因请求失败,

- 或 -

访问超时。

InvalidOperationException

返回结果解析错误。

Examples

下面的示例代码演示如何获取表(Table)中主键(Primary Key)的特定范围内的多行数据。该示例中使用了BeginBatchModifyData(String, IEnumerableRowChange, String, AsyncCallback, Object)方法的示例代码所插入的数据。
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

Reference