【发布时间】:2014-11-14 07:08:57
【问题描述】:
我的应用在 iOS 7 上运行良好,但在 iOS 8 上我的选择不起作用,我检查了 sqlite3_prepare_v2 的返回在 iOS7 和 iOS8 中是不同的,检查一下..
ios7
2014-09-19 09:18:08.841 Mapa Radar[511:60b] Database returned error 0: not an error
2014-09-19 09:18:08.841 Mapa Radar[511:60b] Database returned error 0: not an error
2014-09-19 09:18:08.974 Mapa Radar[511:60b] Accucary 5
2014-09-19 09:18:08.975 Mapa Radar[511:60b] SELECT * FROM Radares WHERE distance2(Latitude, Longitude, -23.111100, -46.849126)<1 ORDER BY distance2(Latitude, Longitude, -23.111100, -46.849126)
2014-09-19 09:18:08.975 Mapa Radar[511:60b] Database returned error 0: not an error
ios8
2014-09-19 09:14:51.631 Mapa Radar[609:76761] Database returned error 0: not an error
2014-09-19 09:14:51.633 Mapa Radar[609:76761] Database returned error 0: not an error
2014-09-19 09:14:52.252 Mapa Radar[609:76761] Accucary 65
2014-09-19 09:14:52.258 Mapa Radar[609:76761] SELECT * FROM Radares WHERE distance2(Latitude, Longitude, -23.516678, -47.477784)<1 ORDER BY distance2(Latitude, Longitude, -23.516678, -47.477784)
2014-09-19 09:14:52.259 Mapa Radar[609:76761] Database returned error 0: not an error
2014-09-19 09:14:52.261 Mapa Radar[609:76761] Database returned error 1: no such table: Radares
我得到了完全相同的代码段的日志,有什么想法吗?
我选择的代码是..
NSString *qsql= [NSString stringWithFormat:@"SELECT * FROM Radares WHERE distance2(Latitude, Longitude, %@, %@)<1 ORDER BY distance2(Latitude, Longitude, %@, %@)",lat,longi,lat,longi];
NSLog(@"%@",qsql);
sqlite3_stmt *statement;
NSLog(@"Database returned error %d: %s", sqlite3_errcode(db), sqlite3_errmsg(db));
if (sqlite3_prepare_v2( db, [qsql UTF8String], -1,&statement, nil) == SQLITE_OK)
{
while (sqlite3_step(statement) == SQLITE_ROW)
{...
【问题讨论】:
-
错误信息有什么不清楚的地方?
-
嗨...我不明白为什么在 iOS7 上该表“存在”而在 ios8 上却没有...运行的是相同的代码..
标签: iphone sqlite select ios7 ios8