Objective c sqlite3_列_文本返回Null
我有一个表,我想打印一行的内容,这是表结构:Objective c sqlite3_列_文本返回Null,objective-c,sqlite,Objective C,Sqlite,我有一个表,我想打印一行的内容,这是表结构: CREATE TABLE "quotes_type" ("type_id" INTEGER PRIMARY KEY NOT NULL , "content" TEXT) 我可以在debug中看到类型_id,值正确为1,但在sqlite3_column_text的帮助下无法返回上下文值以下是代码: NSString *qry = [NSString stringWithFormat: @"select * from quotes_type"
CREATE TABLE "quotes_type" ("type_id" INTEGER PRIMARY KEY NOT NULL , "content" TEXT)
我可以在debug中看到类型_id,值正确为1,但在sqlite3_column_text的帮助下无法返回上下文值以下是代码:
NSString *qry = [NSString stringWithFormat: @"select * from quotes_type"];
const char *count_stmt = [qry UTF8String];
sqlite3_prepare_v2(contactDB, count_stmt, -1, &statement, NULL);
if (sqlite3_step(statement) == SQLITE_ERROR) {
NSAssert1(0,@"Error when selecting rows %s",sqlite3_errmsg(contactDB));
} else {
int myid=sqlite3_column_int(statement, 0);
NSLog(@"Context: %s", sqlite3_column_text(statement, 1));
NSLog(@"myid is %d",myid);
sqlite3_finalize(statement);
sqlite3_close(contactDB);
问题在于这一行:
NSLog(@"Data: %s", sqlite3_column_text(statement, 1));
结果为空
我意识到它没有更新我的sqlite文件,它正在从我以前的文件读取。我如何强制它从新文件读取?即使我删除了所有.sqlite文件,但它仍然从某个地方读取它也许该表在该行的第二列中实际包含NULL?您是否使用sqlite3命令行工具检查了内容,或者使用某些SQLite浏览器?我发现问题是,即使我删除了整个SQLite文件,它仍在读取以前的SQLite文件,它仍在读取并显示id,因此我运行了查询并删除了database@MartinR我的查询删除数据库不起作用,它仍在读取它。有什么方法吗?例如,清除它?当您删除sqlite文件然后你必须关闭并重新打开sqlite句柄(contactDB)。我的程序中有它,我也清理了构建,但这是从捆绑包读取的,据我所知,我无法删除捆绑包文件,我尝试了一个示例代码,但它不起作用