ios - sqlite访问错误,只能在iPhone 6和6加上失败
我正在使用一个过程,涉及与本地数据库的咨询,如果有任何记录保存,并在iphone 4,5和5s,而不是在一个iphone 6,全部用ios 8.1,我希望你的帮助。ios - sqlite访问错误,只能在iPhone 6和6加上失败
编辑: 我省略了所有的代码
-(int)getCountRowsLogin{
NSString *ubicacionDB = [self obtenerBD];
if(!(sqlite3_open([ubicacionDB UTF8String], &database) == SQLITE_OK))
{
NSLog(@"No se puede conectar con la BD");
}
int numero = 0;
NSString *query = @"SELECT COUNT(*) FROM Registro";
sqlite3_stmt *sentencia;
if (sqlite3_prepare_v2(database, [query UTF8String], -1, &sentencia, nil) == SQLITE_OK)
{
while (sqlite3_step(sentencia) == SQLITE_ROW)
{
int cuenta = sqlite3_column_int(sentencia, 0);
numero = cuenta;
sqlite3_finalize(sentencia);
}
sqlite3_close(database);
}
return numero;
}
使用fileSystemRepresentation而不是UTF8字符串到一个NSString转换为一个const char *用于在一个 “C” API (如SQLite3)。
我试过但没有解决我的问题,谢谢。问题是sqlite3_finalize(sentencia),因为它在while内部,现在也运行 – Ghostnars 2015-03-03 22:24:40
,我看到你测试sqlite3_open失败,但它不会尽早返回。没有什么可以阻止代码继续尝试使用(未打开的)数据库。我会在NSLog后添加一条return语句(@“No se puede conectar con la BD”); – paddlefish 2015-03-03 23:56:53
谢谢@paddlefish我会尝试 – Ghostnars 2015-03-04 13:31:25
邮政编码不是图像。谢谢。 – Cesare 2015-03-02 20:50:37
谢谢,有一些想法来解决这个问题? – Ghostnars 2015-03-02 22:03:41
这么多的错误。您关闭但不要打开数据库。如果您阅读任何记录,您只需完成准备好的声明。 – rmaddy 2015-03-02 23:11:25