i have problem sqlite database in qt5. have table called "mytable" , im trying save, change or load data there. table looks (code):
"mytable" ("id" integer primary key not null , "name" varchar not null , "akcie" integer not null ) then im trying work database (code):
void mainwindow::on_pushbutton_save_clicked() { qstring jmeno, idcko, ak; idcko = ui->lineedit_id->text(); jmeno = ui->lineedit_name->text(); ak = ui->lineedit_akcie->text(); open_connection(); qsqlquery query; query.prepare("insert mytable(id, name, akcie) values(id= \'"+ idcko +"\', name= \'"+ jmeno +"\', akcie= \'"+ ak +"\')"); if(query.exec()) { qmessagebox::information(this, tr("saved"), tr("some text.")); close_connection(); } else { qmessagebox::critical(this, tr("not saved"), query.lasterror().text()); qdebug() << query.lasterror().text(); } } in same file im opening connection (code):
bool mainwindow::open_connection() { qsqldatabase database; database = qsqldatabase::adddatabase("qsqlite"); database.setdatabasename("..\\added\\test_table.sqlite"); if(!database.open()) { qdebug() << "not opened connection"; return false; } else { qdebug() << "opened connection"; return true; } } and im still getting error: "no query unable fetch row", have been looking answer hard nothing worked. because of includes or doing wrong?
thank in advance help!
you not preparing query right. use bindings like:
query.prepare("insert mytable(id, name, akcie) values(:id, :name, :akcie)"); query.bindvalue(":id", idcko); query.bindvalue(":name", jmeno); query.bindvalue(":akcie", ak);
Comments
Post a Comment