iOS下 Sqlite3 簡單的代碼例子
首先,導入libsqlite3.0.dylib庫
我們,來看一下.h文件
#import <sqlite3.h> @interface ViewController : UIViewController @property (assign,nonatomic)sqlite3* database; -(IBAction)openDB; -(IBAction)createTestList; -(IBAction)insertTable; -(IBAction)queryTable; -(IBAction)deleteTable; -(IBAction)updateTable; @end
//獲取document沙箱路徑 -(NSString*)dataFilePath{ NSArray *myPaths = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES); NSString *myDocPath = [myPaths objectAtIndex:0]; NSString *filename = [myDocPath stringByAppendingPathComponent:@"sqlite.db"]; NSLog(@"%@",filename); return filename;//這裏很神奇,可以定義成任何類型的文件,也可以不定義成.db文件,任何格局都行,定義成.sb文件都行,達到了很好的數據隱祕性 }
//創建,打開數據庫 -(IBAction)openDB { //獲取數據庫路徑 NSString* path = [self dataFilePath]; //若是數據庫存在,則用sqlite3_open直接打開(若是數據庫不存在sqlite3_open會主動創建) sqlite3_open([path UTF8String], &_database); }
//創建表 -(IBAction)createTestList { const char *createSql="create table if not exists testTable(ID INTEGER PRIMARY KEY AUTOINCREMENT, testID int,testValue text,testName text)"; sqlite3_exec(_database, createSql, NULL, NULL, NULL); }
//插入數據 -(IBAction)insertTable { const char *insertSql="INSERT INTO testTable(testID, testValue,testName) VALUES(120,'ew','45')"; sqlite3_exec(_database, insertSql, NULL, NULL, nil); }
//查看數據 -(IBAction)queryTable { [self openDB]; const char *selectSql="select testID,testName from testTable"; sqlite3_stmt *statement; if (sqlite3_prepare_v2(_database, selectSql, -1, &statement, nil)==SQLITE_OK) { NSLog(@"select ok."); while (sqlite3_step(statement)==SQLITE_ROW)//SQLITE_OK SQLITE_ROW { int _id=sqlite3_column_int(statement, 0); NSString *name=[[NSString alloc] initWithCString:(char *)sqlite3_column_text(statement, 1) encoding:NSUTF8StringEncoding]; NSLog(@"row>>id %i, name>> %@",_id,name); } } }
//刪除數據 -(IBAction)deleteTable { [self openDB]; const char *sql = "DELETE FROM testTable where testName='45'"; sqlite3_exec(_database, sql, NULL, NULL, nil); }
//更改數據 -(IBAction)updateTable { [self openDB]; const char *sql = "update testTable set testName ='444' WHERE testID =120"; sqlite3_exec(_database, sql, NULL,NULL,NULL); sqlite3_close(_database); }
最後,在XIB中拖四個按鈕與增、刪、改、查 四個方法相關聯
Hi,推薦文件給你 "Sqlite例子.zip" http://vdisk.weibo.com/s/HqLZq
http://pan.baidu.com/share/link?shareid=3059825140&uk=3189484501