ワンステップクエリ実行インターフェイス

2011. 02. 16
int sqlite3_exec(
    sqlite3*,
    const char *sql,
    int (*callback)(void*,int,char**,char**),
    void *,
    char **errmsg
);
    
/* データベースを開く */
/* SQLを評価する */
/* コールバック関数 */
/* コールバックへの第1引数 */
/* ここにエラーメッセージを書く */

sqlite3_exec()インターフェイスは、sqlite3_prepare_v2()sqlite3_step()sqlite3_finalize()周辺の便利なラッパーで、多くのCコードを使用すること無く、アプリケーションがSQLの複数のステートメントを実行することができます。

sqlite3_exec()インターフェイスは、第1引数としてdatabase connectionのコンテキストを、第2引数としてセミコロンで区切られたSQLステートメントを、UTF-8でエンコードされた0個以上の引数を渡して実行します。

sqlite3_exec()の第3引数のコールバック関数がNULLではない場合、各結果行のSQLステートメントの評価を得るために呼び出されます。

sqlite3_exec()の第4引数は、各コールバックの呼び出しを第1引数に中継します。

sqlite3_exec()へのコールバックポインタがNULLの場合はコールバックが呼び出されず、結果行は無視されます。

エラーが発生した場合、sqlite3_exec()に渡されたSQLステートメントが評価されている間、現在のステートメントの実行は停止し、後続のステートメントはスキップされます。

sqlite3_exec()の第5引数がNULLではない場合、sqlite3_malloc()から取得したメモリにエラーメッセージが出力され、第5引数を介して渡されます。

メモリリークを回避するには、アプリケーションはエラーメッセージの文字列が不要になった後で、sqlite3_exec()の第5引数を介してエラーメッセージの文字列を返し、sqlite3_free()を呼び出す必要があります。

sqlite3_exec()の第5引数がNULLではなく、エラーが発生していない場合、sqlite3_exec()は返す前にNULLへの第5引数のポインタを設定します。

sqlite3_exec()のコールバックがゼロ以外を返す場合、sqlite3_exec()ルーチンはコールバックを再度呼び出すこと無く、後続のSQLステートメントを実行せずに、SQLITE_ABORTを返します。

sqlite3_exec()の第2引数のコールバック関数は、結果内の列数です。

sqlite3_exec()の第3引数のコールバックは、各列のためのsqlite3_column_text()から取得した文字列へのポインタの配列です。

結果行の要素がNULLの場合、sqlite3_exec()コールバックの文字列のポインタはNULLポインタと一致します。

sqlite3_exec()の第4引数のコールバックは、sqlite3_column_name()から取得した結果列に一致する名前で表される各エントリの、文字列のポインタの配列です。

sqlite3_exec()の第2引数がNULLポインタの場合は空の文字列のポインタ、または空白のみを含むSQLコメントのポインタで、SQLステートメントは評価せず、データベースは変更されません。

制限事項:

・アプリケーションはsqlite3_exec()の第1引数が有効で、database connectionが開くことを保証する必要があります。

・アプリケーションはsqlite3_exec()の実行中に、sqlite3_exec()の第1引数で指定されているdatabase connectionを閉じない必要があります。

・アプリケーションはsqlite3_exec()の実行中に、sqlite3_exec()の第2引数で渡されるSQLステートメントのテキストを変更しない必要があります。

ObjectsConstantsFunctionsの一覧を参照してください。



参考文献

One-Step Query Execution Interface

0 CommentsPosted in SQLite





Bose QuietComfort 20
0 Comments
Leave a comment
管理者にだけ表示を許可する
Top
0 Trackbacks
Top
Calendar
08 | 2017/09 | 10
Sun Mon Tue Wed Thu Fri Sat
- - - - - 1 2
3 4 5 6 7 8 9
10 11 12 13 14 15 16
17 18 19 20 21 22 23
24 25 26 27 28 29 30
Recent Articles
iTunes


Swift
Categories
Tips
Profile

水月杏香

Author:水月杏香
永遠の初心者プログラマ。

Wish List
WACOM


ARC
Technical Q&A
情報プロパティリストキー
Start Developing iOS Apps Today
BOSE

Bose QuietComfort 20
Reference
NSApplicationDelegateプロトコル
NSArrayクラス
NSAutoreleasePoolクラス
NSBundleクラス
NSBundle UIKit追加分
NSCalendarクラス
NSCoderクラス
NSCodingプロトコル
NSCopyingプロトコル
NSDataクラス
NSDateクラス
NSDateFormatterクラス
NSDictionaryクラス
NSEntityDescriptionクラス
NSEnumeratorクラス
NSErrorクラス
NSExceptionクラス
NSFetchRequestクラス
NSFileHandleクラス
NSFileManagerクラス
NSIndexPathクラス
NSIndexPath UIKit追加分
NSKeyedArchiverクラス
NSKeyedUnarchiverクラス
NSKeyValueCodingプロトコル
NSLocaleクラス
NSManagedObjectクラス
NSManagedObjectContextクラス
NSManagedObjectModelクラス
NSMutableArrayクラス
NSMutableCopyingプロトコル
NSMutableDictionaryクラス
NSMutableSetクラス
NSNotificationクラス
NSNotificationCenterクラス
NSNullクラス
NSNumberクラス
NSObjectクラス
NSObject UIKit追加分
NSObjectプロトコル
NSPersistentStoreクラス
NSPersistentStoreCoordinatorクラス
NSPredicateクラス
NSPropertyListSerializationクラス
NSRunLoopクラス
NSSetクラス
NSStringクラス
NSString UIKit追加分
NSTimerクラス
NSTimeZoneクラス
NSURLクラス
NSURLProtectionSpaceクラス
NSURLRequestクラス
NSUserDefaultsクラス
NSValueクラス

UIActionSheetクラス
UIActionSheetDelegateプロトコル
UIActivityIndicatorViewクラス
UIAlertViewクラス
UIAlertViewDelegateプロトコル
UIApplicationクラス
UIApplicationDelegateプロトコル
UIBarButtonItemクラス
UIBarItemクラス
UIButtonクラス
UIColorクラス
UIControlクラス
UIDatePickerクラス
UIDeviceクラス
UIEventクラス
UIFontクラス
UIGestureRecognizerクラス
UIImageクラス
UIImageViewクラス
UIKit Function
UILabelクラス
UINavigationControllerクラス
UINavigationItemクラス
UIPickerViewクラス
UIPickerViewDataSourceプロトコル
UIPickerViewDelegateプロトコル
UIPinchGestureRecognizerクラス
UIResponderクラス
UIScreenクラス
UIScrollViewクラス
UISearchBarクラス
UISearchBarDelegateプロトコル
UISegmentedControlクラス
UISliderクラス
UISwipeGestureRecognizerクラス
UISwitchクラス
UITableViewクラス
UITableViewCellクラス
UITableViewControllerクラス
UITableViewDataSourceプロトコル
UITableViewDelegateプロトコル
UITapGestureRecognizerクラス
UITextFieldクラス
UITextFieldDelegateプロトコル
UITextInputTraitsプロトコル
UITextViewクラス
UITextViewDelegateプロトコル
UIToolbarクラス
UITouchクラス
UIViewクラス
UIViewControllerクラス
UIWebViewクラス
UIWebViewDelegateプロトコル
UIWindowクラス

AVAudioPlayerクラス
AVAudioPlayerDelegateプロトコル

CADisplayLinkクラス
CAEAGLLayerクラス
CALayerクラス

CGAffineTransform
CGBitmapContext
CGColor
CGColorSpace
CGContext
CGGeometry
CGImage
CGPath

EAGLContextクラス
EAGLDrawableプロトコル

Foundation Constants
Foundation Data Types
Foundation Functions

MPMediaItemクラス
MPMediaItemArtworkクラス
MPMediaPlaylistクラス
MPMediaPropertyPredicateクラス
MPMediaQueryクラス
MPMusicPlayerControllerクラス

Randomization Services

System Sound Services
Amazon


OpenGL ES
SQLite
Monthly Archives
Recent Comments
Recent TrackBacks
RSS Link
Visitors
QR Code
QR