在这个非常简单的iPad 应用程序中,我试图将记录插入到数据库中的表中,然后检索它们。插入操作完成但数据库没有变化,我看不出问题出在哪里。
这是带有数据库的项目。 http://www.4shared.com/zip/qTmrrpcc/ghadeer1.html
谢谢你。
在这个非常简单的iPad 应用程序中,我试图将记录插入到数据库中的表中,然后检索它们。插入操作完成但数据库没有变化,我看不出问题出在哪里。
这是带有数据库的项目。 http://www.4shared.com/zip/qTmrrpcc/ghadeer1.html
谢谢你。
我看到两个sqlite3_open
命令,一个在Documents
文件夹中打开数据库,另一个在包中打开它。前者在Documents
从那里打开之前正确地将数据库从捆绑包复制到。但显然,当您随后打开捆绑包中的副本时,您在该数据库中所做的任何插入都不会反映。两个sqlite3_open
命令应该遵循相同的过程:从 bundle 复制到Documents
(如果还没有的话),然后在Documents
.
您的getschools
方法也有一个错误。它说:
- (IBAction)getschools:(id)sender {
static NSInteger currentIndex = 0;
if (++currentIndex == [self.schools count]) {
currentIndex=0;
} else {
school *aschool = (school *) [self.schools objectAtIndex: currentIndex];
[self.idview setText:aschool.schoolid];
[self.nameview setText:aschool.schoolname];
}
}
大概应该说:
- (IBAction)getschools:(id)sender {
static NSInteger currentIndex = 0;
if (++currentIndex == [self.schools count]) {
currentIndex=0;
}
school *aschool = (school *) [self.schools objectAtIndex: currentIndex];
[self.idview setText:aschool.schoolid];
[self.nameview setText:aschool.schoolname];
}
我之所以提到它,是因为该错误可能会阻止您查看刚刚插入的记录,当您在其他地方诊断真正的数据库错误时,这会令人困惑。