As we know,FMDB is a SQLITE objective-c wrapper.FMDB have three important class,they are FMDatabase,FMResultSet,FMDatabaseQueue.
根据文档介绍:
一:创建FMDatabase对象
创建一个FMDatabase��️三种方法,
第一:文件系统路径。这个文件不一定要在硬盘上存在,如果不存在,可以由我们自己创建。
第二:一个空字符串。空数据库可以在一个临时位置创建,在“FMDatabase”关闭的时候会被删掉。
第三:‘nil’内存数据库,顺便普及一下,内存数据库(内存数据库是一种依赖于主存作为数据存储介质的一种数据库管理系统,相比传统的基于磁盘的数据库管理系统,内存数据库会快很多,建成“IMDB”),这个数据库也会随着FMDatabase的关闭而被销毁。
例如:在iOS上,我们可以在app的‘documents’目录下打开(创建)一个数据库:
NSString *docPath = [NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES)firstObject];
NSString *dbPath = [docPath stringByAppendingPathComponent:@"test.db"];
FMDatabase *db = [FMDatabase databaseWithPath:dbPath];
好了,一个数据库对象就创建出来了。
@param inPath Path of database file(数据库文件的路径)
@return `FMDatabase` object if successful; `nil` if failure.
+ (instancetype)databaseWithPath:(NSString*)inPath;
二:打开一个新的数据库连接
The database is opened for reading and writing, and is created if it does not already exist.
@return `YES` if successful, `NO` on error.
@see [sqlite3_open()](http://sqlite.org/c3ref/open.html)
@see openWithFlags:
@see close
*/
- (BOOL)open;
调用这个方法也就是如果数据库存在,就打开,如果数据库不存在,那么就先创建再打开。
/** The path of the database file
@return path of database.
就是要数据库的路径
*/
- (NSString *)databasePath;
/** The underlying SQLite handle
@return The `sqlite3` pointer.
返回‘Sqlite3’的句柄
*/
- (sqlite3*)sqliteHandle;
/*
可以设置数据库的时间,但是需要注意的是因为’NSDateFormat‘是不是线程安全的,所以说调用这个方法必须是一个单例
*/
+ (NSDateFormatter *)storeableDateFormat:(NSString *)format;
/** Usage count */
@property (atomic, assign) long useCount;
/** SQL statement */
数据库的一些属性,知道当前数据库的状态
@property (atomic, retain) NSString *query;
/** SQLite sqlite3_stmt
@see [`sqlite3_stmt`](http://www.sqlite.org/c3ref/stmt.html)
*/
@property (atomic, assign) sqlite3_stmt *statement;
/** Indication of whether the statement is in use */
@property (atomic, assign) BOOL inUse;
///----------------------------
/// @name Closing and Resetting
///----------------------------
/** Close statement */
- (void)close;
/** Reset statement */
- (void)reset;
Hope To Help You !
技术交流群:141624834 进群请说你看的那篇博客,我们一起探讨成长
下篇继续。。。。。