Я тестирую эту простую программу базы данных, используя проект QML:
Window {
visible: true
width: 640; height: 480
title: qsTr("SQL Example")
property var db
property int ident: 0
TextField {
id: field
placeholderText: qsTr("Enter Your Name")
hoverEnabled: true
}
Button {
text: "Next"
anchors.top: field.bottom
onClicked: storeData(field.displayText)
}
Component.onCompleted: initDatabase()
function initDatabase() {
db = LocalStorage.openDatabaseSync("data", "1.0", "Save names", 1000000)
db.transaction( function(tx)
{ tx.executeSql('CREATE TABLE IF NOT EXISTS data (id INTEGER, name TEXT, mode TEXT)') })
}
function storeData(username) {
db.transaction( function(tx) {
tx.executeSql('INSERT INTO data VALUES (?, ?, ?)', [ident, username, ""])
ident++ })
}
}
Когда я нажимаю кнопку Next
, после ввода имени появляется следующее сообщение об ошибке:
qrc: /main.qml: 36: Ошибка: данные таблицы имеют 1 столбец, но передано 3 значения Невозможно выполнить оператор
Казалось бы, все правильно, но я не знаю, почему я получаю эту ошибку!