我在这里是菜鸟但是,为什么我得到这个错误?
我在一个名为Team.sqlite的SQLite中有一个名为Team的表!还有什么我需要提供的吗?
ERROR --------------- 2009-12-23 23:17:05.277 PitScout[6690:207] *** Assertion failure in -[Team addTeam], /Users/******/Desktop/PitScout/Classes/Team.m:90 2009-12-23 23:17:05.280 PitScout[6690:207] *** Terminating app due to uncaught exception 'NSInternalInconsistencyException', reason: 'Error while creating add statement. 'no such table: Team'' 2009-12-23 23:17:05.280 PitScout[6690:207] Stack: ( 30131291, 2502464777, 30215227, 810772, 16329, 12146, 20588, 2753625, 4667381, 2753625, 3160994, 3169731, 3164943, 2858547, 2766876, 2793653, 37420753, 29916032, 29912136, 37414797, 37414994, 2797571, 10780, 10634 )
答案 0 :(得分:3)
使用CoreData。直接使用SQLite更难,需要更多代码,除非您有非常具体的需求,否则浪费时间。
你说:
我有一个名为Team的表 SQLite名为Team.sqlite!在那儿 我还需要提供什么?
这没有意义。你是说你有一个名为“Team.sqlite”的数据库?或者你有一个名为“Team.sqlite”的表?名为“Team.sqlite”的表与名为“Team”的表不同。
如何创建表格?即您正在使用的CREATE TABLE
语句是什么?
答案 1 :(得分:1)
注意:我从头开始重新启动项目,现在已修复。结果证明我的SQL语句存在问题。谢谢大家!
编辑:修复是关于我的SQL语句:我正在调用一个DID存在的表,但我使用了:
NSString *defaultDBPath = [[[NSBundle mainBundle] resourcePath] stringByAppendingPathComponent:@"SQLITE.sqlite"];
而不是:
NSString *defaultDBPath = [[[NSBundle mainBundle] resourcePath] stringByAppendingPathComponent:@"Team.sqlite"];
实际上是由我之前的应用程序构建引起的。
然而,My Teams.m完全没问题。这实际上在我的SQLAppDelegate.m中。