SQLite3の構文(その2)
SQLite3というモジュールがあります。
これは、データベースの一種です。
CSVなどで作成すると非常に手間がかかり、取り出すにもかなりの時間が要します。
iPhoneなどでもこのモジュールが使えるというのはすごくうれしいことです。
画像データやiPodの曲リストなどをSELECT文で簡単に整理ができるので、
開発が楽になります。
私が使用している関数を紹介していきます。
構文:
int sqlite3_step(sqlite3_stmt*);
内容:
データを取得(1行のみ)
パラメータ:
○ sqlite3_stmt **ppStmt
sqlite3_prepareまたは、sqlite3_prepare_v2、
sqlite3_prepare16、sqlite3_prepare16_v2で取得したステートメント。
戻り値:
成功:SQLITE_OK
失敗:SQLITE_OK以外
例:
int result = sqlite3_step(statement);
構文:
const void *sqlite3_column_blob(sqlite3_stmt*, int iCol);
int sqlite3_column_bytes(sqlite3_stmt*, int iCol);
int sqlite3_column_bytes16(sqlite3_stmt*, int iCol);
double sqlite3_column_double(sqlite3_stmt*, int iCol);
int sqlite3_column_int(sqlite3_stmt*, int iCol);
sqlite3_int64 sqlite3_column_int64(sqlite3_stmt*, int iCol);
const unsigned char *sqlite3_column_text(sqlite3_stmt*, int iCol);
const void *sqlite3_column_text16(sqlite3_stmt*, int iCol);
int sqlite3_column_type(sqlite3_stmt*, int iCol);
sqlite3_value *sqlite3_column_value(sqlite3_stmt*, int iCol);
内容:
指定した列のデータを取得する。
指定した列の型を取得する。(sqlite3_column_type)
パラメータ:
○ sqlite3_stmt **ppStmt
sqlite3_prepareまたは、sqlite3_prepare_v2、
sqlite3_prepare16、sqlite3_prepare16_v2で取得したステートメント。○ int iCol
sqlite3_prepareまたは、sqlite3_prepare_v2、
sqlite3_prepare16、sqlite3_prepare16_v2で取得したステートメントに対し、
取得したい列の型の列を設定
戻り値:
なし
または
#define SQLITE_INTEGER 1
#define SQLITE_FLOAT 2
#define SQLITE_TEXT 3
#define SQLITE_BLOB 4
#define SQLITE_NULL 5
など。
例:
char *result = sqlite3_column_text(statement, 1);
int result = sqlite3_column_type(statement, 1);