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