Я создал свою таблицу с этим запросом
CREATE TABLE SETTINGS(NAME VARCHAR(1050), VALUE VARCHAR(1550),CREATE_DATE_TIME DATETIME,UPDATE_DATE_TIME DATETIME, PRIMARY KEY(NAME))
Затем я вставил данные, как это
INSERT INTO SETTINGS(NAME, VALUE ,CREATE_DATE_TIME ,UPDATE_DATE_TIME) VALUES('CellIDKey','[email protected]',DATETIME('NOW'), DATETIME('NOW'))
На данный момент все работает нормально. Теперь, если я хочу выполнить запрос на обновление, как этот,
UPDATE SETTINGS SET VALUE='[email protected]' CREATE_DATE_TIME=DATETIME('NOW') WHERE NAME='CellIDKey'
Это показывает следующую ошибку на консоли
QSqlError::type= "QSqlError::ConnectionError" , QSqlError::number= -1 , databaseText= "No query" , driverText= "Unable to fetch row"
Но если я выполню этот запрос на обновление следующим образом,
UPDATE SETTINGS SET VALUE='[email protected]' WHERE NAME='CellIDKey'
Теперь все отлично работает. Я не знаю, что не так с оператором DATETIME (‘NOW’) в запросе на обновление.
Это не допустимый SQL:
UPDATE SETTINGS SET VALUE='[email protected]' CREATE_DATE_TIME=DATETIME('NOW') WHERE NAME='CellIDKey'
-- ---------------------------------------------------^ Missing comma!
Отдельные назначения в SET должны быть разделены запятыми следующим образом:
UPDATE SETTINGS
SET VALUE='[email protected]', -- This comma is needed
CREATE_DATE_TIME=DATETIME('NOW')
WHERE NAME='CellIDKey'
Других решений пока нет …