我必须使用sqlite创建一个项目,我宁愿使用简单的plist,xml甚至核心数据,因为我没有任何sql经验。但是它必须能够从sqlite数据库中读取。我下载了FMDB包装并快速设置,但是当我尝试从我的数据库中读取时它不会显示在tableview中,这是我的代码:
TermsArray = [[NSMutableArray alloc] init];
NSString *path = [[NSBundle mainBundle] pathForResource:@"Database" ofType:@"sql"];
FMDatabase *db = [[FMDatabase alloc] initWithPath:path];
[db open];
FMResultSet *fResult= [db executeQuery:@"SELECT * FROM country WHERE id=1"];
while([fResult next])
{
CountryString = [fResult stringForColumn:@"name"];
[CountryArray addObject:CountryString];
NSLog(@"The data is %@=",CountryString);
}
[db close];
}
并使用以下方法在我的tableview中显示它:
NSString *Text = [CountryArray objectAtIndex:indexPath.row];
cell.textLabel.text = Text;
现在我没有得到任何错误,但是数组总是空的,在控制台我也没有得到任何警告等但我注意到NSLOG从未出现,所以我不认为那部分是工作。 在文本编辑器中看到我的sql文件:
CREATE TABLE country ( id INTEGER PRIMARY KEY, name VARCHAR(250),location TEXT,number INTERGER);
INSERT INTO country (name,location,number) VALUES('UK','country location here',1);
sqlite文件应该怎么样?我使用sqlite编辑器创建了一个,它生成了一个sql文件,当我在文本编辑器中打开它时,我只看到sql语句?
有人可以帮助我,这真的很棒,
谢谢!
答案 0 :(得分:0)
只需复制sql语句并在sql控制台中运行它 之后你必须备份数据库 使用.backup
答案 1 :(得分:0)
我已修复它,这是我的sql文件的问题,它现在效果很好!感谢您的所有意见!