【问题标题】:SQLite 'no such table' errorSQLite'没有这样的表'错误
【发布时间】:2010-12-29 18:08:27
【问题描述】:

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

我在名为 Team.sqlite 的 SQLite 中有一个名为 Team 的表!还有什么需要我提供的吗?

错误 --------------- 2009-12-23 23:17:05.277 PitScout[6690:207] *** -[Team addTeam] 中的断言失败,/Users/******/Desktop/PitScout/Classes/Team.m:90 2009-12-23 23:17:05.280 PitScout [6690:207] *** 由于未捕获的异常“NSInternalInconsistencyException”而终止应用程序,原因:“创建添加语句时出错。 '没有这样的表:团队'' 2009-12-23 23:17:05.280 PitScout [6690:207] 堆栈:( 30131291, 2502464777, 30215227, 810772, 16329, 12146, 20588, 2753625, 4667381, 2753625, 3160994, 3169731, 3164943, 2858547, 2766876, 2793653, 37420753, 29916032, 29912136, 37414797, 37414994, 2797571, 10780, 10634 )

【问题讨论】:

  • 要回答这个问题,我们至少需要知道您是如何打开数据库以及如何查询数据库的。你在使用 Core Data 吗?
  • 尝试使用一些管理器打开您的数据库,例如用于 Firefox 的 SQLite Manger 插件或其他。在那里您可以输入您的查询。如果您的查询在那里有效,它也将在您的应用中有效。

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


【解决方案1】:
  1. 使用 CoreData。直接使用 SQLite 更难,需要更多代码,而且浪费时间,除非您有非常特殊的需求。

  2. 你说:

我确实有一个名为 Team 的表 SQLite 称为 Team.sqlite!有没有 还有什么需要我提供的吗?

这没有意义。你是说你有一个名为“Team.sqlite”的数据库吗?或者你有一个名为“Team.sqlite”的表?名为“Team.sqlite”的表与名为“Team”的表不同。

如何创建表? IE。您使用的CREATE TABLE 语句是什么?

【讨论】:

  • 好吧,我决定 Core Data 对我来说要困难得多,我只是一个初学者,我有一个名为 Team.sqlite 的文件,其中有一个名为 Team 的表。 !
  • Core Data 的学习曲线可能稍显陡峭,但请给它一个机会,特别是如果您的项目是为了学习体验。一旦你学会了如何使用 Core Data,它将使编程变得更容易。最好从一开始就学习如何以“正确”的方式去做,然后必须学习新的方式并改掉旧的坏习惯。
【解决方案2】:

注意:我从头开始重新启动项目,现在已修复。原来是我的 SQL 语句有问题。谢谢大家!

编辑:修复是关于我的 SQL 语句:我正在调用一个 DID 存在的表,但我使用了:

NSString *defaultDBPath = [[[NSBundle mainBundle] resourcePath] stringByAppendingPathComponent:@"SQLITE.sqlite"];

代替:

NSString *defaultDBPath = [[[NSBundle mainBundle] resourcePath] stringByAppendingPathComponent:@"Team.sqlite"];

这实际上是由我早期构建的应用程序之一引起的。

不过,我的 Teams.m 非常好。这实际上在我的 SQLAppDelegate.m 中。

【讨论】:

  • 提醒:SO 是一个问答网站,而不是论坛。您在这里的帖子只是对您问题的回答。要使其成为完整的答案,请编辑此答案并解释更正的陈述并编辑您的问题以添加错误的陈述,以便其他人可以从您的问题中学习。对于未来的问题,请确保您的答案真正回答了问题。当您获得 50 分时,您可以将更一般的陈述(以及针对特定答案的问题)发布为 cmets(您始终可以针对自己的问题发布 cmets)。
猜你喜欢
  • 2016-11-18
  • 2015-05-11
  • 1970-01-01
  • 1970-01-01
  • 2017-02-09
  • 2015-09-07
  • 1970-01-01
  • 2019-12-06
  • 1970-01-01
相关资源
最近更新 更多