iOS SQLite : Insert statement fails, 看不到为什么

标签 ios sqlite insert

因此,我可以对第一个表使用以下语句毫无问题地创建数据库:

     const char *sqlStatement = "CREATE TABLE IF NOT EXISTS LIBRARY_SEARCH (SEARCH_ID INTEGER PRIMARY KEY AUTOINCREMENT, SEARCH_TERM TEXT)";

但是当我去插入一行时它失败了。这就是我插入行的方式。

NSString *insertStatement = [NSString stringWithFormat:@"INSERT INTO LIBRARY_SEARCH(SEARCH_TERM) VALUES (\"%@\")", myQuery] ;

其中 myQuery 是一个 NSString,它保存应用程序中 searchBar.text 的值。它是一个属性,当然是合成的。

所以我称之为:

     if ( sqlite3_exec(searchSessionDB, [insertStatement UTF8String], NULL, NULL, &insert_error) == SQLITE_OK)

失败了。谁能看出原因?

最佳答案

明白了。在我的打开数据库语句中犯了一个小错字。

对于以后看到这个的人来说,现在的开场白是这样的(而且效果很好!):

if(sqlite3_open(dbpath, &searchSessionDB) = SQLITE_OK){

感谢 Robert Ryan 推荐这个 NSLog:

NSLog(@"%s", sqlite3_errmsg(searchSessionDB));

感谢 Elpsk 和 H2CO3 提供包装器/应用程序包信息。

关于iOS SQLite : Insert statement fails, 看不到为什么,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11721071/

相关文章:

sql-server-2012 - 将动态和静态数据插入临时表

ios - 扩展对 swift 的性能有害吗?

ios - 通过 Urban Airship iOS 发送 PUSH

ruby - 使用 ruby​​ 库将行插入 sqlite3 数据库时出现问题

java - 在 Eclipse 中从 sqlite 数据库加载 JAVA GUI 中的表时,如何添加表标题?

mysql - 插入由多个选择生成的多行

php - 插入mysql导致重复键

ios - 如何在自定义单元格中切换开关时调用函数 - TableViewCell Swift

ios - 我如何在 UIProgressView 中设置进度图像

android - 如何用特定行更新 sqlite 表而不重复存在的行?