Poco中的SQLite UPDATE记录语法

时间:2017-09-04 12:07:37

标签: sqlite syntax sql-update poco-libraries

我无法在这里获得语法;是否有一些更广泛的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();

1 个答案:

答案 0 :(得分:0)

两个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有什么关系。