Witam, podczas pisania swojego programu do projektu natrafiłem na problem, którego nie umiem rozwiązać...
Poprzez kliknięcie na przycisk Dodaj powinno umieścić rekord w bazie danych... niestety pojawia się o to taki błąd:
QODBCResult: Unable to execute statement: "[Microsoft][Menedżer sterowników ODBC] Błąd sekwencji funkcji"
" "
"[Microsoft][Menedżer sterowników ODBC] Błąd sekwencji funkcji QODBC3: Unable to execute statement" DODAJ BUTTON
Ten dodaj button to z mojego qDebug.
Kod akcji przycisku:
void pacjenci_window::on_dodaj_clicked()
{
QSqlQuery uQuery = QSqlQuery(db);
uQuery.prepare("INSERT INTO pacjent(nr_ubezpieczenia, imie_pacjenta, nazwisko_pacjenta, adres_pacjenta, telefon_pacjenta) VALUES(nr_ubezpieczenia = :nr_ub, imie_pacjenta= :imie, nazwisko_pacjenta = :nazwisko, adres_pacjenta = :adres, telefon_pacjenta = :telefon)");
uQuery.bindValue(":nr_ub",ui->nr_ub->text());
uQuery.bindValue(":imie",ui->imie->text());
uQuery.bindValue(":nazwisko",ui->nazwisko->text());
uQuery.bindValue(":adres",ui->adres->text());
uQuery.bindValue(":telefon",ui->nr_tel->text());
if(!uQuery.exec()){
qDebug() << db.lastError().text();
qDebug() << uQuery.lastError().text() << " DODAJ BUTTON";
}
sQuery.prepare("SELECT * FROM pacjent");
if(!sQuery.exec()){
qDebug() << uQuery.lastError().text() << " DODAJ BUTTON select";
}
sQuery.last();
FillForm();
}
Nie wiem czy to wina kodu, czy może potrzeba gdzieś wrzucić dodatkowo plik ze sterownikiem ODBC, itp.... Z zapytaniem SQL cudowałem na chyba wszystkie sposoby i żadne nie przeszło.
pacjenci_window.h:
http://pastebin.com/BVs0WrRd
pacjenci_window.cpp:
http://pastebin.com/X9wuuPUb
Dodam że przy innych przyciskach też występuję podobny błąd. Tak naprawdę to działają mi tylko zapytania SELECT. Mam nadzieję że znajdzie się ktoś na tyle uprzejmy aby podpowiedzieć w czym tkwi błąd :)