我已经将数据库包含在我的项目中,而且我之前也使用过fmdb。我想从我的旧项目复制我的代码,但它仍然表示,“没有这样的表”没有这样的表问题
这里是控制台日志:
DB Error: 1 "no such table: ANIMALS"
DB Query: SELECT * FROM ANIMALS WHERE Name = 'koyun'
DB Path: (null)
这里是我的代码:
NSString *path = [[NSBundle mainBundle] pathForResource:@"HayvanlarM" ofType:@"sqlite"];
FMDatabase *database = [FMDatabase databaseWithPath:path];
[database setLogsErrors:TRUE];
[database open];
NSString *anQuery = [[NSString alloc]initWithFormat:@"SELECT * FROM ANIMALS WHERE Name = '%@' ",[[bBackG objectAtIndex:0]stringByDeletingPathExtension]];
FMResultSet *results = [database executeQuery:anQuery];
while([results next]) {
NSString *animalName = [results stringForColumn:@"TR"];
//gjText.text = animalName;
NSLog(@"animalName: %@",animalName);
}
[database close];
database = nil;
我试图通过Firefox的SQLite管理器创建我的分贝,我试图利塔,但都给了我同样的错误(no such table)
任何人都可以告诉我什么是我的代码中的问题?我尝试了所有关于这样的问题的解决方案,但迄今为止他们都没有和我一起工作。
你能否证实返回的路径是否有效?没有找到数据库时SQLite的默认行为是创建一个新的空行为,因为它是空的,它不会找到您要查找的表。 – borrrden 2012-03-25 10:56:14
当我在Xcode中包含数据库时,我并未选择将其添加到目标,在我选择将其添加到应用目标后,它开始从数据库读取 谢谢:) – mortgy 2012-03-25 12:48:10