Hatena::Groupiphone-dev

haoyayoi Dev Style このページをアンテナに追加 RSSフィード

2009-05-05

FMDataBaseのメソッドメモ

| 09:31 | FMDataBaseのメソッドメモ - haoyayoi Dev Style を含むブックマーク はてなブックマーク - FMDataBaseのメソッドメモ - haoyayoi Dev Style FMDataBaseのメソッドメモ - haoyayoi Dev Style のブックマークコメント

FMDataBaseを使っていて、発生するエラーの山がどうにも防げない。根本的な問題として、FMDataBaseのメソッドおよび使い方がリポジトリのあるwikiに書かれていないのも一因。

とりあえず少しづつ書いていくことにする。バージョンアップでまた差異がでてしまうかもしれないけど、それはそのとき。

+ (id)databaseWithPath:(NSString*)aPath

指定したDBパスでのFMDataBaseのインスタンスを返す。autoreleaseがかかってる。

- (id)initWithPath:(NSString*)aPath

指定したDBパスでのFMDataBaseのインスタンスを返す。

+ (NSString*) sqliteLibVersion

sqliteのバージョンを返す。

- (NSString *) databasePath

DBのパスを返す。

- (sqlite3*) sqliteHandle

sqlite3のハンドラを返す。

- (BOOL) open

DBが開いているかどうか返す。

- (void) close

DBを閉じる。ビジーであったり、sqlite3で閉じることに失敗した場合は何もしない。

- (void) clearCachedStatements

キャッシュされていたステートメントをすべてクリア。

- (FMStatement*) cachedStatementForQuery:(NSString*)query

指定のクエリのステートメントを返す。

- (void) setCachedStatement:(FMStatement*)statement forQuery:(NSString*)query

ステートメントを指定のクエリで保存する。

- (BOOL) rekey:(NSString*)key

- (BOOL) setKey:(NSString*)key

- (BOOL) goodConnection

接続を確認する。確認はtableのsqlite_master内のnameを選択する形で行う。

- (void) compainAboutInUse

DBが使用中であるかしらべる。エラーの場合はNSAssert1で通知。

- (NSString*) lastErrorMessage

SQliteの最新のエラーメッセージを返す。

- (BOOL) hadError

エラーを起こしていないか判定する。

- (int) lastErrorCode

SQLiteの最新のエラーコードを取得する。

- (sqlite_int64) lastInsertRowId

挿入した最新の行を取得。DB使用中の場合はエラー。

- (void) bindObject:(id)obj toColumn:(int)idx inStatement:(sqlite3_stmt*)pStmt;

- (id) executeQuery:(NSString *)sql arguments:(va_list)args

クエリを実行する。実行結果をFMResultで返す。

- (id) executeQuery:(NSString*)sql, ...

クエリを実行する。(id) executeQuery:(NSString *)sql arguments:(va_list)argsのラッパー

- (BOOL) executeUpdate:(NSString*)sql arguments:(va_list)args

クエリを実行する。実行結果を真偽値で返す。

- (BOOL) executeUpdate:(NSString*)sql, ...

クエリを実行する。(BOOL) executeUpdate:(NSString*)sql arguments:(va_list)argsのラッパー

- (BOOL) rollback

ロールバックする。

- (BOOL) commit

トランザクションをコミットする。

- (BOOL) beginDeferredTransaction

トランザクションを開始する。最初にDBにアクセスした時点でロックする。トランザクションとロックが同時ではない。

- (BOOL) beginTransaction

トランザクションを開始する。同時にロックもかける。

- (BOOL)logsErrors

ログエラーの設定を返す。

- (void)setLogsErrors:(BOOL)flag

ログエラーを設定する

- (BOOL)crashOnErrors

エラー時のクラッシュ設定を返す。

- (void)setCrashOnErrors:(BOOL)flag

エラー時のクラッシュ指定を設定する。

- (BOOL)inUse

使用中かどうかの設定を返す。

- (void) setInUse:(BOOL)b

使用中にする。

- (BOOL)inTransaction

トランザクション判定を返す。

- (void)setInTransaction:(BOOL)flag

トランザクション中にする。

- (BOOL)traceExecution

実行クエリをログに書き出す設定を返す。

- (void)setTraceExecution:(BOOL)flag

実行クエリをログに書き出す指定を行う。YESの場合、executeQueryなどで実行されたクエリがNSLogで書き出されるようになる。