API version 29

LocalDBStatement.ToArrayメソッド

iOSAndroidWindows

 

説明

指定した列の値をキー、および値として連想配列を出力します。

それまでにnextメソッドによりカーソル位置が移動している場合は先頭に戻してから実行します。

また、実行後にnextメソッドで進んでいるカーソルを初期状態に戻します。

 

keyColで指定した列の値が重複している場合、後から見つかった行の値が採用されます。

 

呼出形式

var arr = st.ToArray( keyCol, valueCol )

 

戻り値

連想配列を返します。

クエリ結果と連想配列の構造の関係は以下の通りです。

 

行数

a列

b列

c列

...

1行目

値1-a

値1-b

値1-c

...

2行目

値2-a

値2-b

値2-c

...

3行目

値3-a

値3-b

値3-c

...

4行目

値3-a

値4-b

値4-c

...

...

ToArrayメソッドでkeyColにa列の列名、valueColにb列の列名を指定した場合の、戻り値のArrayの構造

arr[値1-a]=値1-b
arr[値2-a]=値2-b
arr[値3-a]=値4-b
⋮

上記の例では、a列の3行目と4行目の値が重複しているため、値4-bが採用されます。

 

引数

string keyCol

連想配列の添え字にする列の名前を指定します。空文字を指定した場合、0から開始する行番号が添え字となります。

 

string valueCol

連想配列の値にする列の名前を指定します。

 

例外

DB-1

データベース操作中にエラーが発生しました

 

DB-8

無効なステートメントです

 

使用例

var fs = new FileSystem();
var db = new LocalDB(fs, "sample.sqlite3");
try {
	db.begin();
	db.exec("create table test (id integer primary key, color text, value integer, nullablevalue)");
	var ret = db.exec("insert into test values (1, 'Red', 100, null)");
	ret = db.exec("insert into test values (2, 'Red', 110, null)");
	ret = db.exec("insert into test values (3, 'Blue', 200, null)");
	db.commit();
	var st = db.CreateStatement("select * from test");
	var arr = st.ToArray("id", "color");
} catch ( e ) {
	db.rollback();
	return;
}

 

関連項目

 

 



「オンラインマニュアル」一覧へ戻る
「Bizの宝箱」TOPへ戻る