微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

使用SqliteModernCpp进行Sqlite更新查询

如何解决使用SqliteModernCpp进行Sqlite更新查询

我正在使用sqliteModernCpp库。我有一个数据访问对象模式,包括以下功能

void movie_data_access_object::update_movie(movie to_update)
{
    // connect to the database
    sqlite::database db(this->connection_string);

    // execute the query
    std::string query = "UPDATE movies SET title = " + to_update.get_title() + " WHERE rowid = " + std::to_string(to_update.get_id());
    db << query;
}

本质上,我想更新数据库rowid(即PK)在其参数中具有对象to_update的值(由get_id()返回)中的记录。

代码产生sql逻辑错误。是什么原因造成的?

解决方法

原来,正在创建的查询字符串中的单引号(')丢失了。该行应为:

std::string query = "UPDATE movies SET title = '" + to_update.get_title() + "' WHERE rowid = " + std::to_string(to_update.get_id());

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。