【发布时间】:2012-07-30 11:57:23
【问题描述】:
所以我可以使用以下语句为第一个表创建没有问题的数据库:
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)
失败了。有谁知道为什么?
【问题讨论】:
-
NSLog(@"%s", sqlite3_errmsg(searchSessionDB));说什么? -
它说“内存不足”。
-
想我可能会拥有它。谷歌搜索了这个错误,我想我在我的开放数据库语句中打错了。会检查的。
-
是的,就是这样。谢谢罗伯特。