首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >更改Sqlite数据库表和更新iOS查询

问更改Sqlite数据库表和更新iOS查询
EN

Stack Overflow用户
提问于 2016-06-04 12:48:29
回答 1查看 1.1K关注 0票数 0

我编写了SQLITE insert查询,以将一些数据插入到sqlite数据库表中。但是现在我试图在sqlite表中添加一个新列,并将新值插入到该列中。因此,每当我试图更新我的数据库表时,它每次都应该创建一个新列,并更新并给我插入的新值。下面是我的更改和更新代码,我做的点击一个按钮。

代码语言:javascript
复制
-(void)updateStatusData:(NSString *)txt {

sqlite3_stmt    *statement;
dirPaths = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES);
docsDir = [dirPaths objectAtIndex:0];
databasePath = [docsDir stringByAppendingPathComponent:@"db.sqlite"];

NSLog(@"%@",databasePath);
if (sqlite3_open([databasePath UTF8String], &database) == SQLITE_OK)
{



  NSString *updateSQL = [NSString stringWithFormat:@"ALTER TABLE STATUS ADD COLUMN newcolumn; UPDATE STATUS SET newcolumn=%@ WHERE rowid=1",txt];

    const char *update = [updateSQL UTF8String];
    NSLog(@"update statmnt %s",update);
    sqlite3_prepare_v2(database, update, -1, &statement, NULL);
    if (sqlite3_step(statement) == SQLITE_DONE)
    {
        sqlite3_bind_text(statement, 1, [txt UTF8String], -1, SQLITE_TRANSIENT);
        NSLog(@" Status Results Updated Successfully");

    } else {
        NSLog(@"error %s",sqlite3_errmsg(database));
    }
    sqlite3_finalize(statement);
    sqlite3_close(database);
}
}

我的新列名是新列,它应该保存的值在'txt‘中。我的问题是,每当我运行这段代码时,我都会在sqlite数据库表中插入一个新列。但是插入的值对于新列是空的。当您在WHATSAPP上更新状态时,代码应该按照您的方式运行,它保存更新的状态.请帮帮我我做错了什么。任何帮助都是非常感谢的。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2016-06-04 13:36:13

不要同时运行这两个查询。创建两个单独的查询,一个用于添加列,另一个用于更新表。所以运行两条不同的语句而不是一条。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/37630415

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档