2014-11-13 41 views
0

這裏有什麼問題?sqlite錯誤第19步iOS

我需要使用sqlite綁定,因爲我想添加HTML標記到sqlite數據庫。

sqlite3_stmt *stmt; 

    const char *sql = "INSERT INTO News (id,title,description,date,removed) VALUES (?,?,\"asd\",1,0);"; 

    if (sqlite3_prepare_v2(database, sql, -1, &stmt, NULL) == SQLITE_OK) { 
     sqlite3_bind_int(stmt, 0, 2); 
     sqlite3_bind_text(stmt, 1, [@"test_binf" UTF8String], -1, SQLITE_TRANSIENT); 

     if (sqlite3_step(stmt) == SQLITE_DONE) { 

     } 
     else { 
      NSLog(@"Error on step: %i",sqlite3_errcode(database)); 
     } 

     sqlite3_reset(stmt); 
     sqlite3_finalize(stmt); 

    } 
    else { 
     NSLog(@"Error on prepare: %i",sqlite3_errcode(database)); 
    } 

我得到了sqlite錯誤:「錯誤的步驟:19」。

請幫幫我。

+0

使用'sqlite3_errmsg'看到實際的錯誤。但根據sqlite.org,錯誤19是違反約束的。錯誤信息將會清除。 – rmaddy

+0

僅供參考 - 在這種情況下,無需在您的語句中調用sqlite3_reset。 「最終確定」就是你所需要的。 – rmaddy

+0

我看到此代碼不能與HTML標籤一起使用。 任何建議如何將html插入到sqlite(iOS)? 在Android上,我可以使用ContentValues – Unmerciful

回答

0

documentation說:

The leftmost SQL parameter has an index of 1.

您必須使用索引1和2

相關問題