ページの先頭行へ戻る
Interstage AR Processing Server V1.0.1 開発ガイド
FUJITSU Software

3.3.5 データの取得例

サンプル用利用者定義テーブル「usr_sample」を例に、それぞれ取得する方法を記述しています。

3.3.5.1 主キーによる特定データを取得

qtypeの取得
  1. nameがusr_sampleのqtypeを取得します。

    var query = "qtypes/usr_sample";
    AR.Data.getArServerData(query, true, onSuccess, onError);
  2. レスポンスは登録されているqtypeのJSONオブジェクトです。

    {“name”:”usr_sample”, “description”:”業務サンプルユーザーデータ管理テーブル。”, “version”:1} 
qattributeの取得
  1. qtypeがusr_sample、nameがusr_temperatureのqattributeを取得します。

    var query = “qattributes/usr_sample/usr_temperature”;
    AR.Data.getArServerData(query, true, onSuccess, onError);
  2. レスポンスは登録されているqattributeのJSONオブジェクトです。

    {“qtypeName”:”usr_sample”, “name”:”usr_temperature”, “description”:”点検温度”, “orderIndex”:7, “qvalueType”:”LONG”, “version”:1}
qentityの取得
  1. qtypeがusr_sample、idが1のqentityを取得します。

    var query = “qentities/usr_sample/1”;
    AR.Data.getArServerData(query, true, onSuccess, onError);
  2. レスポンスは登録されているqentityのJSONオブジェクトです。

    {“qtypeName”:”usr_sample”, “id”:1, “version”:1}
qvalueの取得
  1. qtypeがusr_sample、qentityのidが1、attributeがusr_nameのqvalueを取得

    var query = “qvalues/usr_sample/1/usr_name”;
    AR.Data.getArServerData(query, true, onSuccess, onError);
  2. レスポンスは登録されているqvalueのJSONオブジェクトです。

    {“qtypeName”:”usr_sample”, “qentityId”:1, “qattributeName”:”usr_name”, “stringValue”:”ユーザーA”, “longValue”:null, “floatValue”:null, “version”:1}

3.3.5.2 条件検索してデータを取得

qtypeの検索

qtypeで指定できる条件は以下の通りです。

クエリパラメータ

説明

type

処理結果として取得するもの。

RECORDS=結果配列を返却, COUNT=結果総数を返却, RECORDANDCOUNT=結果配列/総数を取得

limitRange

検索結果配列の取得範囲。1~

例){"start":1,"end":10}

nameRanges

name範囲配列

例)[{"start":”AR100","end":"AR999"}]

sortOrders

ソートオーダ配列。

NAME=name昇順, NAME_DESC=name降順

例)["NAME"]

  1. qtypeの検索は以下のようになります。

    var query = "qtypes?";
    //typeの指定
    query += "type=RECORDSANDCOUNT";  //結果配列/総数を取得
    
    //limitRangeの指定
    var limitRange = new Object();
    limitRange.start = 1;
    limitRange.end = 10;
    query += "&limitRange="+JSON.stringify(limitRange); // {"start":1, "end":10}
    
    //nameRangesの指定
    var nameRanges = new Array();
    nameRanges[0] = new Object()
    nameRanges[0].start = "usr_sample";
    nameRanges[0].end = "usr_sample100"
    query += "&nameRanges=" +JSON.stringify(nameRanges); //{"start":"usr_sample", "end":"usr_sample100"}
    
    //sortOrdersの指定
    var sortOrders = ["NAME_DESC"];
    query += "&sortOrders" + JSON.stringify(sortOrders);
    AR.Data.getArServerData(query, true, onSuccess, onError);
  2. レスポンスは条件に一致したqtypeのJSONオブジェクトです。

    {unlimitedRecordCount:1, “records”:[検索結果qtype配列]}
qattributeの検索

qattributeで検索できる条件は以下の通りです。

クエリパラメータ

説明

type

処理結果として取得するもの。

RECORDS=結果配列を返却, COUNT=結果総数を返却, RECORDANDCOUNT=結果配列/総数を取得

limitRange

検索結果配列の取得範囲。1~

例){"start":1,"end":10}

qtypeNameRanges

name範囲配列

例)[{"start":”AR100","end":"AR999"}]

nameRanges

name範囲配列

例)[{"start":"備考01","end":"備考99"}]

sortOrders

ソートオーダ配列。

QTYPENAME=qtypeName昇順, QTYPENAME_DESC=qtypeName降順, NAME=name昇順, NAME_DESC=name降順 , ORDERINDEX=orderIndex昇順, ORDERINDEX_DESC=orderIndex降順

例)["ORDERINDEX","QTYPENAME","NAME"]

  1. qattribute検索は以下のようになります。

    var query = "qattributes?";
    //typeの指定
    query += "type=RECORDSANDCOUNT";  //結果配列/総数を取得
    
    //limitRangeの指定
    var limitRange = new Object();
    limitRange.start = 1;
    limitRange.end = 10;
    query += "&limitRange="+JSON.stringify(limitRange); // {"start":1, "end":10}
    
    //qtypeNameRangesの指定
    var qtypeNameRanges = new Array();
    qtypeNameRanges[0] = new Object;
    qtypeNameRanges[0].start = "usr_sample";
    qtypeNameRanges[0].end = "usr_sample100"
    query += "&qtypeNameRanges=" +JSON.stringify(qtypeNameRanges); //{"start":"usr_sample",
    "end":"usr_sample100"}
    
    //nameRangesの指定
    var nameRanges = new Array();
    nameRanges[0] = new Object();
    nameRanges[0].start = "usr_";
    nameRanges[0].end = "usr_z"
    query += "&nameRanges=" +JSON.stringify(nameRanges); //{"start":"usr_", "end":"usr_z"}
    
    //sortOrdersの指定
    var sortOrders = ["QTYPENAME_DESC","ORDERINDEX"];
    query += "&sortOrders=" + JSON.stringify(sortOrders); //["QTYPENAME_DESC", "ORDERINDEX"]
    
    AR.Data.getArServerData(query, true, onSuccess, onError);
  2. レスポンスは条件に一致したqtypeのJSONオブジェクトです。

    {unlimitedRecordCount:1, “records”:[検索結果qattribute配列]}
qentityの検索

qentityで検索できる条件は以下の通りです。

クエリパラメータ

説明

type

処理結果として取得するもの。

RECORDS=結果配列を返却, COUNT=結果総数を返却, RECORDANDCOUNT=結果配列/総数を取得

limitRange

検索結果配列の取得範囲。1~

例){"start":1,"end":10}

qtypeNameRanges

name範囲配列

例)[{"start":”AR100","end":"AR999"}]

idRanges

id範囲配列

例)[{"start":100,"end":200}]

sortOrders

ソートオーダ配列。

QTYPENAME=qtypeName昇順, QTYPENAME_DESC=qtypeName降順, ID=id昇順, ID_DESC=id降順

例)["QTYPENAME","ID"]

  1. qentityの検索は以下のようになります。

    var query = "qentities?";
    //typeの指定
    query += "type=RECORDSANDCOUNT";  //結果配列/総数を取得
    //limitRangeの指定
    var limitRange = new Object();
    limitRange.start = 1;
    limitRange.end = 10;
    query += "&limitRange="+JSON.stringify(limitRange); // {"start":1, "end":10}
    
    //qtypeNameRangesの指定
    var qtypeNameRanges = new Array();
    qtypeNameRanges[0] = new Object();
    qtypeNameRanges[0].start = "usr_sample";
    qtypeNameRanges[0].end = "usr_sample100"
    query += "&qtypeNameRanges=" +JSON.stringify(qtypeNameRanges); //{"start":"usr_sample", "end":"usr_sample100"}
    
    //idRangesの指定
    var idRanges = new Array();
    idRanges[0] = new Object();
    idRanges[0].start = 1;
    idRanges[0].end = 10000000000000000;
    query += "&idRanges=" +JSON.stringify(idRanges); //{"start":1, "end":10000000000000000}
    
    //sortOrdersの指定
    var sortOrders = ["QTYPENAME_DESC","ID"];
    query += "&sortOrders" + JSON.stringify(sortOrders); //["QTYPENAME_DESC", "ORDERINDEX"]
    
    AR.Data.getArServerData(query, true, onSuccess, onError);
  2. レスポンスは条件に一致したqtypeのJSONオブジェクトです。

    {unlimitedRecordCount:1, “records”:[検索結果qentity配列]}
qvalueの検索

qvalueの検索で指定できる条件は以下の通りです。

クエリパラメータ

説明

type

処理結果として取得するもの。

RECORDS=結果配列を返却, COUNT=結果総数を返却, RECORDANDCOUNT=結果配列/総数を取得

limitRange

検索結果配列の取得範囲。1~

例){"start":1,"end":10}

qtypeNameRanges

name範囲配列

例)[{"start":”AR100","end":"AR999"}]

qentityIdRanges

id範囲配列

例)[{"start":100,"end":200}]

qattributeNameRanges

name範囲配列

例)[{"start":”AR100","end":"AR999"}]

stringValueRanges

stringValue範囲配列

例)[{"start":"神奈川県_あ","end":"神奈川県_ん"}]

longValueRanges

longValue範囲配列

例)[{"start":1,"end":100}]

floatValueRanges

floatValue範囲配列

例)[{"start":0.1,"end":0.9}]

sortOrders

ソートオーダ配列。

QTYPENAME=qtypeName昇順, QTYPENAME_DESC=qtypeName降順, QENTITYID=qentityId昇順, QENTITYID_DESC=qentityId降順, QATTRIBUTENAME=qattributeName昇順, QATTRIBUTENAME_DESC=qattributeName降順

例)["QTYPENAME","QENTITYID","QATTRIBUTENAME"]

  1. qvalueの検索は以下のようになります。

    var query = "qvalues?";
    //typeの指定
    query += "type=RECORDSANDCOUNT";  //結果配列/総数を取得
    
    //limitRangeの指定
    var limitRange = new Object();
    limitRange.start = 1;
    limitRange.end = 10;
    query += "&limitRange="+JSON.stringify(limitRange); // {"start":1, "end":10}
    
    //qtypeNameRangesの指定
    var qtypeNameRanges = new Array();
    qtypeNameRanges[0] = new Object();
    qtypeNameRanges[0].start = "usr_sample";
    qtypeNameRanges[0].end = "usr_sample100"
    query += "&qtypeNameRanges=" +JSON.stringify(qtypeNameRanges); //{"start":"usr_sample",
    "end":"usr_sample100"}
    
    //qentityIdRangesの指定
    var qentityIdRanges = new Array();
    qentityIdRanges[0] = new Object();
    qentityIdRanges[0].start = 1;
    qentityIdRanges[0].end = 10000000000000000;
    query += "&qentityIdRanges=" +JSON.stringify(qentityIdRanges); //{"start":1, "end":10000000000000000}
    
    //qattributeNameRangesの指定
    var qattributeNameRanges = new Array();
    qattributeNameRanges[0] = new Object();
    qattributeNameRanges[0].start = "usr_";
    qattributeNameRanges[0].end = "usr_z"
    query += "&qattributeNameRanges=" +JSON.stringify(qattributeNameRanges); //{"start":"usr_", "end":"usr_z"}
    
    //longValueの指定
    var longValueRanges = new Array();
    longValueRanges[0] = new Object();
    longValueRanges[0].start = 0;
    longValueRanges[0].end = 20;
    query += "&longValueRanges=" +JSON.stringify(longValueRanges); //{"start":1, "end":20}
    //sortOrdersの指定
    var sortOrders = ["QTYPENAME_DESC","QATTRIBUTENAME"];
    query += "&sortOrders" + JSON.stringify(sortOrders); //["QTYPENAME_DESC", "QATTRIBUTENAME"]
    
    AR.Data.getArServerData(query, true, onSuccess, onError);
  2. レスポンスは条件に一致したqvalueのJSONオブジェクトです。

    {unlimitedRecordCount:1, “records”:[検索結果qvalue配列]}
quadの検索

quadで検索できる条件は以下の通りです。

クエリパラメータ

説明

type

処理結果として取得するもの。

RECORDS=結果配列を返却, COUNT=結果総数を返却, RECORDANDCOUNT=結果配列/総数を取得

limitRange

検索結果配列の取得範囲。1~

例){"start":1,"end":10}

qattributeOrderIndexRange

QAttribute方向の結果配列の取得範囲。QAttribute.orderIndex昇順ソート時の順番で指定。1~

例){"start":1,"end":10}

qtypeNameRanges

name範囲配列

例)[{"start":”AR100","end":"AR999"}]

whereExpressions

絞り込み条件配列

sortOrderExpressions

ソート条件配列

quadがなげるExpressionは以下の通りです。

属性

説明

qattributeNameRanges

QValueと同じ

例)[{"start":"カラム01","end":"カラム09"}]

ソート条件として[{"start":"カラム01","end":"カラム99"}]のような範囲を指定した場合、カラム01~カラム99のいずれかの値がソートに利用され、どのカラム値が使われるか不定になってしまう。ソート条件においては、単一の値のみを指定し、範囲や範囲配列を指定させないものとする。

qvalueType

QValue.qtypeName, .qentityId, .qattributeNameで特定されるQAttribute.qvalueType

qvalueRanges

QValue.xxxValueの範囲

desc

ソートを降順にするか否か。ソート条件時のみ有効

  1. quadの検索は以下のようになります。

    var query = "quads?";
    //typeの指定
    query += "type=RECORDSANDCOUNT";  //結果配列/総数を取得
    //limitRangeの指定
    var limitRange = new Object();
    limitRange.start = 1;
    limitRange.end = 10;
    query += "&limitRange="+JSON.stringify(limitRange); // {"start":1, "end":10}
    
    //qattributeOrderIndexRangeの指定
    var qattributeOrderIndexRange = new Object();
    qattributeOrderIndexRange.start = 1;
    qattributeOrderIndexRange.end = 10;
    query += "&limitRange="+JSON.stringify(qattributeOrderIndexRange); // {"start":1, "end":10}
    
    //qtypeNameRangesの指定
    var qtypeNameRanges = new Array();
    qtypeNameRanges[0] = new Object();
    qtypeNameRanges[0].start = "usr_sample";
    qtypeNameRanges[0].end = "usr_sample100"
    query += "&qtypeNameRange=" +JSON.stringify(qtypeNameRanges); //{"start":"usr_sample",
    "end":"usr_sample100"}
    
    //whererExpressionsの指定
    var whereExpressions = new Array();
    whereExpressions[0] = new Object();
    whereExpressions[0].qattributeRanges = new Array();
    whereExpressions[0].qattributeRanges[0] = new Object();
    whereExpressions[0].qattributeRanges[0].start = "usr_";
    whereExpressions[0].qattributeRanges[0].end = "usr_z";
    whereExpressions[0].qvalueType = "LONG";
    whereExpressions[0].qvalueRanges = new Array();
    whereExpressions[0].qvalueRanges[0] = new Object();
    whereExpressions[0].qvalueRanges[0].start = 0;
    whereExpressions[0].qvalueRanges[0].end = 20;
    query += "&whereExpressions="+JSON.stringify(whereExpressions);
    
    //sortOrderExpressionsの指定
    var sortOrderExpressions = new Array();
    sortOrderExpressions[0] = new Object();
    sortOrderExpressions[0].qattributeRanges = new Array();
    sortOrderExpressions[0].qattributeRanges[0] = new Object();
    sortOrderExpressions[0].qattributeRanges[0].start = "usr_temperature";
    sortOrderExpressions[0].qattributeRanges[0].end = "usr_temperature";
    sortOrderExpressions[0].qvalueType = "LONG";
    sortOrderExpressions[0].qvalueRanges = new Array();
    sortOrderExpressions[0].qvalueRanges[0] = new Object();
    sortOrderExpressions[0].qvalueRanges[0].start = 0;
    sortOrderExpressions[0].qvalueRanges[0].end = 20;
    sortOrderExpressions[0].desc = true;
    query += "&sortOrderExpressions="+JSON.stringify(sortOrderExpressions);
    
    AR.Data.getArServerData(query, true, onSuccess, onError);
  2. レスポンスは条件に一致したquadのJSONオブジェクトです。

    {unlimitedRecordCount:1, “records”:[検索結果quad配列]}