SQLite'没有这样的表'错误

时间:2009-12-24 07:19:01

标签: iphone objective-c macos iphone-sdk-3.0 ios-simulator

我在这里是菜鸟但是,为什么我得到这个错误?

我在一个名为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
)

2 个答案:

答案 0 :(得分:3)

  1. 使用CoreData。直接使用SQLite更难,需要更多代码,除非您有非常具体的需求,否则浪费时间。

  2. 你说:

  3.   

    我有一个名为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中。