[Qt/C++] Zmienna w zapytaniu do bazy MySQL
Ostatnio zmodyfikowano 2013-04-27 10:46
Unlimited Temat założony przez niniejszego użytkownika |
[Qt/C++] Zmienna w zapytaniu do bazy MySQL » 2013-04-27 10:34:21 Witam. Google nic nie podpowiedziało, a ja męczę się by wysłać zmienne w zapytaniu do bazy MySQL. Trochę kodu: db.open(); QSqlQuery dodaj; dodaj.exec( "INSERT INTO lista ( autor, tytul, wydawnictwo, rok, strony, stan ) VALUES ( 'zmienna1', 'zmienna2', 'zmienna3', zmienna4, zmienna5, 0 )" ); db.close();
Ogólnie łącze się z bazą wszystko działa tylko nie mogę wysłać danych znajdujących się w zmiennych bo wysyła mi nazwy tychże zmiennych. Już z początku wiedziałem że ten zapis nie będzie działał bo kod jest w "" czyli traktowany jako tekst. Próbowałem zakańczać " przed zmienną i znów dawać po zmiennej " usuwając oczywiście wtedy ' ' ale też nic nie dało bo wtedy się nie kompiluje :/ Np taki zapis zadziała: dodaj.exec( "INSERT INTO lista ( autor, tytul, wydawnictwo, rok, strony, stan ) VALUES ( 'Adam Mickiewicz', 'Dziady I', 'Zielona Sowa', 2013, 746, 0 )" );
Ale już wysłać zmienne zamiast tekstu nie potrafię :( Wie ktoś coś jak to zrobić? |
|
pekfos |
» 2013-04-27 10:38:24 std::ostringstream lub sprintf. |
|
Unlimited Temat założony przez niniejszego użytkownika |
» 2013-04-27 10:46:55 Przepraszam za głupi temat. Jak to mogłem przeoczyć w dokumentacji... Dla tych co być może natkną się na ten temat w przyszłości: QSqlQuery query; query.prepare( "INSERT INTO person (id, forename, surname) VALUES (?, ?, ?)" ); query.addBindValue( zmienna1 ); query.addBindValue( zmienna2 ); query.addBindValue( zmienna3 ); query.exec();
|
|
« 1 » |