我开发了在sqlite中插入数据的iOS应用程序我创建了名为studentdb.sqlite的数据库和名为std_reg的表。我改变后std_reg有5列,并添加另一个名为std_payment的表。但添加的表不起作用,它显示了以下错误:
DataBaseDemo [1764:892812]数据库错误:1“没有这样的表:std_payment” 2018-04-07 11:16:30.743886 + 0300 DataBaseDemo [1764:892812] DB查询: INSERT INTO std_payment VALUES(?,?,?,?,?)DataBaseDemo [1764:892812] 插入时出错
#import "ModelManager.h"
@implementation ModelManager
static ModelManager *instance=nil;
@synthesize database=_database;
+(ModelManager *) getInstance
{
if(!instance)
{
instance=[[ModelManager alloc]init];
instance.database=[FMDatabase databaseWithPath:[Util getFilePath:@"studentdb.sqlite"]];
}
return instance;
}
-(void)insertData:(Model *)data
{
[instance.database open];
BOOL isInserted=[instance.database executeUpdate:@"INSERT INTO std_payment VALUES (?,?,?,?,?)",data.ID,data.Rate,data.Package,data.Type,data.Status];
[instance.database close];
if(isInserted)
NSLog(@"Inserted Successfully");
else
NSLog(@"Error occured while inserting");
}
@end
答案 0 :(得分:0)
捆绑包中的studentdb.sqlite
文件的架构没有名为std_payment
的表。
适当更新架构或代码。
要检查数据库架构,可以使用以下命令导入数据库文件: