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);