Preparing query for QSqlQUeryModel
-
hy to all
I'm trying to prepare a query and then to bind new values to it.
this is what I managed to do
@
QSqlQuery query;
query.prepare("INSERT INTO cliente(calo, titoloargento, nomecliente) "
"VALUES (?, ?, ?)");
query.addBindValue(ui->doubleSpinBox_calo->value());
query.addBindValue(ui->spinBox->value());
query.addBindValue(ui->lineEdit_nomeCliente->text());
query.exec()
@
and this works fine, now I want to retrieve info from the database, and I'm using QSqlQueryModel. It works fine until this point:
@
this->model=new QSqlQueryModel();
model->setQuery("SELECT nomecliente FROM cliente");
ui->tableView->setVisible(true);
ui->tableView->setModel(model);
@
but when I want to add a WHERE clause with values taken from a label I can't manage. I've tried this:
@
this->model=new QSqlQueryModel();
QSqlQuery query;
query.prepare("SELECT nomecliente FROM cliente WHERE nomeclient=?");
query.addBindValue(ui->lineEdit_6->text());
model->setQuery(query);
ui->tableView->setVisible(true);
ui->tableView->setModel(model);
@
but nothing happens...
anybody has some suggestions?? -
For such a simple query you could also use:
@@ QSqlQuery query(QString("SELECT nomecliente FROM cliente WHERE nomeclient='%1'").arg(ui->lineEdit_6->text());Hope it helps
-
hy, thank you for replying , qxoz
@
if (model.lastError().isValid())
qDebug() << model.lastError();
@
first gave me back a very stupid error that I did, I had the column name wrong, I fixed it but is still not working and your piece of code isn't returning any errors.
for what it concernes the other piece of codeqt gives me this errore : error: stray '\200' in program it gives it to me times and the number changes quite often -
@qxoz IMHO It really depends on the use case.
@sax94: I've had this from time to time when I copy pasted code, sometimes it copied some invisible char that went in the file. The only thing i found was to delete the lines surrounding the stray source and rewriting it. You might want to try a replace with a RegExp.