I have changed everything.In accordance with documentation here http://stackoverflow.com/questions/5...em-with-python
i add id int and i give NULL for every record.On this way it auto-increment every next record.What happens - everything work except the UPDATE statement.
It gives me: " Parameter count mismatch"!

Qt Code:
  1. QString row=QString::number(rowid);
  2. QSqlQuery query;
  3. query.prepare("UPDATE clients SET (ClientName, ClientCity, ClientAddress, ClientMol, ClientEik, ClientVat, ClientTel, ClientMail) WHERE id="+row+
  4. "VALUES (?, ?, ?, ?, ?, ?, ?, ?)");
  5. query.addBindValue(ui->lineEdit_name->text());
  6. query.addBindValue(ui->lineEdit_city->text());
  7. query.addBindValue(ui->lineEdit_address->text());
  8. query.addBindValue(ui->lineEdit_mol->text());
  9. query.addBindValue(ui->lineEdit_eik->text());
  10. query.addBindValue(ui->lineEdit_vat->text());
  11. query.addBindValue(ui->lineEdit_tel->text());
  12. query.addBindValue(ui->lineEdit_mail->text());
  13.  
  14. this->close();
  15. if (query.exec())
  16. {
  17. emit updateTable();
  18. }
  19. else
  20. {
  21. QMessageBox::information(this,"", query.lastError().text());
  22. }
  23.  
  24. this->close();
To copy to clipboard, switch view to plain text mode 

I would like to test it with some exact number of row, for example i want to update row 1 only to see whether it works.Unfortunately i don't know the syntax to do it.