SQLite3の構文(その3)



SQLite3というモジュールがあります。

これは、データベースの一種です。

CSVなどで作成すると非常に手間がかかり、取り出すにもかなりの時間が要します。

iPhoneなどでもこのモジュールが使えるというのはすごくうれしいことです。

画像データやiPodの曲リストなどをSELECT文で簡単に整理ができるので、

開発が楽になります。

私が使用している関数を紹介していきます。


構文:


int sqlite3_column_count(sqlite3_stmt *pStmt);

内容:


prepared SQL ステートメントによって返された結果セットのカラムの数を返します。
pStmt がデータを返さない SQL ステートメント(例えばUPDATE)の場合、 このルーチンは0を返します。
sqlite3_data_count() を参照してください。

パラメータ:


○ 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で取得したステートメントに対し、
 取得したい列の型の列を設定

戻り値:


列数

例:


int count = sqlite3_column_count(statement);


構文:


const char *sqlite3_column_name(sqlite3_stmt*, int N);
const void *sqlite3_column_name16(sqlite3_stmt*, int N);

内容:


最初の引数は構築済みSQLステートメントです。
この関数は、N番目のカラムの名前を返します。
Nは関数の2番目の引数です。 返される文字列は、 sqlite3_column_name() では UTF-8 で、
sqlite3_column_name16() では UTF-16 です。

パラメータ:


○ 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で取得したステートメントに対し、
 取得したい列の型の列を設定

戻り値:


テーブル名

例:


char* tableName = sqlite3_column_name(statement, 1);


構文:


int sqlite3_finalize(sqlite3_stmt *pStmt);

内容:


qlite3_prepare() あるいは sqlite3_prepare16() を 呼び出して得た構築済み SQL ステートメントを削除する。

パラメータ:


○ sqlite3_stmt **ppStmt
 sqlite3_prepareまたは、sqlite3_prepare_v2、
 sqlite3_prepare16、sqlite3_prepare16_v2で取得したステートメント

戻り値:


成功:SQLITE_OK
失敗:SQLITE_OK以外

例:


sqlite3_finalize(statement);