插入

时间:2018-04-07 08:33:27

标签: ios

我开发了在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

1 个答案:

答案 0 :(得分:0)

捆绑包中的studentdb.sqlite文件的架构没有名为std_payment的表。

适当更新架构或代码。

要检查数据库架构,可以使用以下命令导入数据库文件: