【问题标题】:SQLite UPDATE record syntax in PocoPoco 中的 SQLite UPDATE 记录语法
【发布时间】:2017-09-04 12:07:37
【问题描述】:

这里的语法我看不懂; POCO-SQLite 有更广泛的例子吗?

我得到一个 Poco::exception, sendErrorResponse HTTP_INTERNAL_SERVER_ERROR

                    Poco::Data::SQLite::Connector::registerConnector();
                    // create a new session
                    Session updsession("SQLite", managers);
                    facilities UnitFacility;

                    Statement updateRecord(updsession);

                    updsession << "UPDATE facilities SET name = nameString, address = addressString, phone = phoneString WHERE facilityNumber = 3;";
                    updateRecord.execute();

//更新:简化 有或没有[]仍然不行。

                    Poco::Data::SQLite::Connector::registerConnector();
                    Session updsession("SQLite", managers);
                    Statement updateRecord(updsession);
                    updsession << "UPDATE facilities SET Name = 'Frank' WHERE [FacilityNumber = 1];",now;
                    updateRecord.execute();

【问题讨论】:

    标签: sqlite syntax sql-update poco-libraries


    【解决方案1】:

    两个 SQL 查询均无效。

    原始查询:

    UPDATE facilities SET name = nameString, address = addressString, phone = phoneString WHERE facilityNumber = 3
    

    结果:

    no such column: nameString: UPDATE facilities SET name = nameString, address = addressString, phone = phoneString WHERE facilityNumber = 3
    

    固定查询:

    UPDATE facilities SET name = 'nameString', address = 'addressString', phone = 'phoneString' WHERE facilityNumber = 3
    

    结果:

    Query executed successfully: UPDATE facilities SET name = 'nameString', address = 'addressString', phone = 'phoneString' WHERE facilityNumber = 3 (took 0ms, 1 rows affected)
    

    原始查询:

    UPDATE facilities SET Name = 'Frank' WHERE [FacilityNumber = 1]
    

    结果:

    no such column: FacilityNumber = 1: UPDATE facilities SET Name = 'Frank' WHERE [FacilityNumber = 1]
    

    固定查询:

    UPDATE facilities SET Name = 'Frank' WHERE FacilityNumber = 1
    

    结果:

    Query executed successfully: UPDATE facilities SET Name = 'Frank' WHERE FacilityNumber = 1 (took 0ms, 1 rows affected)
    

    不清楚这个问题与 HTTP 有什么关系。

    【讨论】:

    • 我从 HTTP 服务器开始,我们就是这样。 :) 你如何传递参数?... nameString 是带有数据的字符串,我怎样才能传递它?感谢您的帮助:)
    • 我应该使用不同类型的服务器结构吗?不是 HTTP 吗?
    • 它仍然停留在第 96 行,HTTPServerConnection.cpp .. using updsession
    猜你喜欢
    • 1970-01-01
    • 2021-07-23
    • 1970-01-01
    • 2012-06-10
    • 1970-01-01
    • 2018-12-15
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多