当我在iPhone应用程序中运行以下查询时
@"select name, identifier, score, delta from startups order by name ASC"
我的日志中出现以下错误:
sqlite error: no such column: score
但是,在我的sqlite3数据库中运行pragma table_info(startups)会产生以下结果:
sqlite> pragma table_info(startups);
0|id|INTEGER|0||1
1|name|TEXT|0||0
2|identifier|TEXT|0||0
3|score|DOUBLE|0|'0'|0
4|delta|DOUBLE|0|'0'|0
5|cached|INTEGER|0|'0'|0
我运行干净并多次构建,对数据库进行三重检查,并且无法弄清楚为什么会出现此错误。任何帮助都会很棒。
谢谢,StackOverflow!
答案 0 :(得分:4)
没关系 - 问题是iPhone模拟器正在缓存sqlite3数据库。清理和构建没有删除此缓存的sqlite3版本。不得不手动进入和rm -rf
下的app目录/ Users / username / Library / Application Support / iPhone Simulator / User / Applications
然后它被重建,数据库被重新复制,一切都很笨拙。
感谢您的帮助!
答案 1 :(得分:0)
你试过用方括号围绕'得分'吗? (如果是保留字):
@"select name, identifier, [score], delta from startups order by name ASC"