Я делал пример для пользователя @yasser163
в котором я хотел реализовать с помощью кода проверку полей и запись значений в БД, но у меня возникли проблемы:
I made an example for user yasser163
in which I wanted to implement using code to check fields and write values to the database, but I had problems:
В этом листинге я хотел создать запись в БД с помощью sqlQuery, но ничего не вышло.
Пожалуйста, исправьте этот пример, что бы я мог увидеть свои ошибки.
In this listing, I wanted to create a database record using sqlQuery, but nothing worked.
Please correct this example so I can see my mistakes.
import QtQuick 2.2
Item {
id: saveMaterial
property bool cancel: false
property string iduser: document.childByName("Text_user_ID").content.text
property string idinvoice: document.childByName("CobmboBox_Invoice").content.listValue
Connections {
target: document.childByName("Button_Ok").scriptAdaptor
onEventItemPressed: {
for ( var i = 0; i <= 9; i++) {
if (document.childByName("TextField_Material_"+i).visible) {
if (document.childByName("TextField_Material_"+i).content.text == '') {
document.childByName("TextField_Material_"+i).style.controlColor = "colorPink"
cancel = true
break
}
}
}
if (cancel == false) {
for ( var i = 0; i <= 9; i++) {
if (document.childByName("TextField_Material_"+i).visible) {
document.childByName("Table_Material").sqlQuery = "INSERT INTO data(iduser,idinvoise,material)VALUES("+iduser+","+idinvoice+","+document.childByName("TextField_Material_"+i).content.text+")"
}
}
}
}
}
}
Потом я немного переписал листинг и попытался использовать в нем команды (действия), но тоже потерпел неудачу, все потому, что программе нужно время для создания записи. Установить таймер мне так и не удалось. Пожалуйста, продемонстрируйте на этом примере как можно установить таймер в цикле.
Then I rewrote the listing a little and tried to use commands (actions) in it, but I also failed, all because the program takes time to create the entry. I was never able to set the timer. Please demonstrate with this example how you can set a timer in a loop.
import QtQuick 2.2
Item {
id: saveMaterial
property bool cancel: false
property string iduser: document.childByName("Text_user_ID").content.text
property string idinvoice: document.childByName("CobmboBox_Invoice").content.listValue
Connections {
target: document.childByName("Button_Ok").scriptAdaptor
onEventItemPressed: {
for ( var i = 0; i <= 9; i++) {
if (document.childByName("TextField_Material_"+i).visible) {
if (document.childByName("TextField_Material_"+i).content.text == '') {
document.childByName("TextField_Material_"+i).style.controlColor = "colorPink"
cancel = true
break
}
}
}
if (cancel == false) {
for ( var i = 0; i <= 9; i++) {
if (document.childByName("TextField_Material_"+i).visible) {
document.childByName("Table_Material").scriptAdaptor.actionQueryBegin("-1")
document.childByName("Table_Material").scriptAdaptor.actionQueryField("iduser",iduser)
document.childByName("Table_Material").scriptAdaptor.actionQueryField("idinvoise",idinvoice)
document.childByName("Table_Material").scriptAdaptor.actionQueryField("material",document.childByName("TextField_Material_"+i).content.text)
document.childByName("Table_Material").scriptAdaptor.actionQueryEnd()
}
}
}
}
}
}