Function Reference

_SQLite_FetchData

_SQLite_Query()に基づくクエリからデータの1行を取り出します。

#include <SQLite.au3>
_SQLite_FetchData ( $hQuery, ByRef $aRow [, $fBinary = False [, $fDoNotFinalize = False]] )

 

パラメータ

$hQuery _SQLite_Query()から渡されるクエリハンドル
$aRow データ行を格納している1次元配列
$fBinary [オプション]バイナリモードに切り替えます ($aRowはバイナリ文字列の配列になります)
$fDoNotFinalize [オプション] 以降の処理のためにクエリをファイナライズしない状態に保つ必要がある場合はTRUEを設定して下さい。
(その場合、シャットダウン前に_SQLite_QueryFinalizeを呼び出すのは呼び出し側の責任になります。)

 

返し値

成功: $SQLITE_OKを返します
失敗: $SQLITE_* 定数と比較可能な値を返します
@error: -1 - SQLiteがエラーを報告 (返し値を調べてください)
1 - SQLite API 'sqlite3_step'の呼び出しエラー
2 - SQLite API 'sqlite3_data_count'の呼び出しエラー
3 - SQLite API 'sqlite3_column_text16'の呼び出しエラー
4 - SQLite API 'sqlite3_column_type'の呼び出しエラー
5 - SQLite API 'sqlite3_column_bytes'の呼び出しエラー
6 - SQLite API 'sqlite3_column_blob'の呼び出しエラー
7 - SafeModeによって呼び出しが阻止されました

 

注意

なし。

 

関連

_SQLite_Query

 


#include <SQLite.au3>
#include <SQLite.dll.au3>

Local $hQuery, $aRow, $aNames
_SQLite_Startup ()
ConsoleWrite("_SQLite_LibVersion=" &_SQLite_LibVersion() & @CRLF)
_SQLite_Open () ; :メモリ: データベースを開く
_SQLite_Exec (-1, "CREATE TABLE aTest (a,b,c);")
_SQLite_Exec (-1, "INSERT INTO aTest(a,b,c) VALUES ('c','2','World');")
_SQLite_Exec (-1, "INSERT INTO aTest(a,b,c) VALUES ('b','3',' ');")
_SQLite_Exec (-1, "INSERT INTO aTest(a,b,c) VALUES ('a','1','Hello');")
_SQlite_Query (-1, "SELECT ROWID,* FROM aTest ORDER BY a;", $hQuery)
_SQLite_FetchNames ($hQuery, $aNames)
ConsoleWrite(StringFormat(" %-10s  %-10s  %-10s  %-10s ", $aNames[0], $aNames[1], $aNames[2], $aNames[3]) & @CRLF)
While _SQLite_FetchData ($hQuery, $aRow, False, False) = $SQLITE_OK ; 次の行を読み出し
    ConsoleWrite(StringFormat(" %-10s  %-10s  %-10s  %-10s ", $aRow[0], $aRow[1], $aRow[2], $aRow[3]) & @CRLF)
WEnd
_SQLite_QueryFinalize($hQuery)
_SQLite_Exec (-1, "DROP TABLE aTest;")
_SQLite_Close ()
_SQLite_Shutdown ()

;~ 出力:
;~
;~  rowid       a           b           c
;~  3           a           1           Hello
;~  2           b           3
;~  1           c           2           World