2013-02-04 44 views
0

希望我的問題有一個簡單的解決方案。我剛剛開始使用sqlite3,並且我創建了一個名爲local的數據庫和一個名爲table的表,其中有一列名爲name,並帶有文本類型。INSERT語句sqlite3 objective-c

它連接到數據庫罰款它只是我想輸入到表列中的字符串值,但我認爲我的INSERT文本有問題。我知道它可能是簡單的,如果任何人都可以讓我知道我出錯的地方。謝謝。

SString *inserStmt = [NSString stringWithFormat:@"INSERT INTO TABLE(NAME) VALUES ('%s')", [key UTF8String]]; 
const char *insert_stmt = [inserStmt UTF8String]; 

sqlite3_exec(database, insert_stmt, NULL, NULL, NULL); 
+1

有一個名爲「表」將會給你帶來各種問題...... –

+0

可能不是一個回答表到你的問題,但在github上查看[fmdb](https://github.com/ccgus/fmdb) - 會讓你的生活更輕鬆 – tttthomasssss

+0

@lc是的,我知道它僅僅用於測試目的。 – bardockyo

回答

2

你的第一個問題是你忽略了任何錯誤並且不顯示錯誤信息,所以如果出現錯誤,你將不會有任何線索。

你的第二個問題是,TABLE是一個關鍵字; 使用它作爲SQL語句的名稱,則必須用雙引號進行轉義:

INSERT INTO "TABLE"(NAME) VALUES('...') 
+0

非常感謝你的工作。我有一個警告設置,讓我知道它是否失敗,我只是沒有在我的文章中包含它。 – bardockyo