2010-07-10 92 views
0

好吧,我明白fmdb完全過時了,核心數據就是它的位置,但現在,我只需要調整我正在使用fmdb從資源文件夾中的sqlite數據庫讀取的應用程序。使用fmdb寫入sqlite數據庫?

我需要能夠寫入我的數據庫。什麼是執行查詢的最佳方式?我曾嘗試這樣做,我從數據庫讀取相同的事情:

FMResultSet * set = [[UIApp database] executeQuery:[customQueries selectAll], book]; 

如果我改變從一個SELECT語句中的字符串全選應運而生INTO語句INSERT和我通過它的可變書插入,但似乎並沒有工作...

我錯過了什麼?我需要做什麼才能寫入我的sqlite數據庫?謝謝!

+2

'fmdb'沒有過時,它正在積極開發中。 ;) – Pascal 2010-11-26 12:08:28

回答

2
FMDatabase* db = [FMDatabase databaseWithPath:dbPath]; 

FMResultSet *rs = [db executeQuery:@"select * from table"]; 
while ([rs next]) { 
    NSLog(@"%d", [rs intForColumn:@"id"]; 
} 

// Close the result set. 
[rs close]; 

// Close the database. 
[db close]; 
+0

您忘記打開您的數據庫,但否則它仍然不正確,因爲它們要求插入和更新數據庫的方式,而不是選擇數據記錄。 – 2011-12-05 17:25:21

5

要插入你會做這樣的事情,其中​​db是您FMDatabase參考:

[db executeUpdate:@"insert into theTable (field1, field2) values(?, ?)", 
    theField1, theField2, nil]; 

確保沒有在參數列表的末尾(2問號零查詢意味着兩個參數和一個零),並確保您使用NS類型作爲參數。如果你嘗試使用int作爲參數,它會崩潰,你需要改用NSNumber。