Hallo habe jetzt zum erstenmal mit QT zu tuen.
Arbeite mit dem QT Creator, welcher bis dato sehr angenehm ist.
Nur bräuchte ich jetzt ein bisschen Hilfe. Unzwar möchte ich aus einer Mysql Datanbenk eine Spalte löschen.
Dazu habe ich gedacht:
query.exec("DELETE FROM schedule WHERE name = "+this->text );
aber leider falsch gedacht.
Übrigens text ist ein QString.
Bin für jegliche HIlfe dankbar.
Spalte aus Mysql Datenbank löschen
Bei einem ähnlichen Problem hab ich das folgendermaßen gelöst:
Also den Text in einfache Anführungszeichen. 'Text'
Code: Alles auswählen
query.exec("DELETE FROM schedule WHERE name = '"+this->text+"'" );
-
Christian81
- Beiträge: 7319
- Registriert: 26. August 2004 14:11
- Wohnort: Bremen
- Kontaktdaten:
Wenn jemand den Namen, den Christian gepostet hat als Namen angibt, dann kan das zu Problemen führen^^
Es wird dann folgender Befehl ausgeführt:
query.exec("DELETE FROM schedule WHERE name = 'a'; delete from schedule" );
Das sind dann aber zwei Anweisungen, wobei die zweite einfach die komplette Tabelle löscht. Wenn der Name also vom Benutzer angegeben werden kann, solltest du vorher prüfen, was er so eingibt.
Es wird dann folgender Befehl ausgeführt:
query.exec("DELETE FROM schedule WHERE name = 'a'; delete from schedule" );
Das sind dann aber zwei Anweisungen, wobei die zweite einfach die komplette Tabelle löscht. Wenn der Name also vom Benutzer angegeben werden kann, solltest du vorher prüfen, was er so eingibt.
-
comm_a_nder
- Beiträge: 2
- Registriert: 4. Dezember 2009 09:59
Passend dazu: http://xkcd.com/327/
Gegen sowas hilft ein sogenanntes prepared statement.
Und ganz abgesehen davon werden durch DELETE keine Spalten gelöscht, sondern Zeilen, die den angegebenen Bedingungen entsprechen.
Gegen sowas hilft ein sogenanntes prepared statement.
Und ganz abgesehen davon werden durch DELETE keine Spalten gelöscht, sondern Zeilen, die den angegebenen Bedingungen entsprechen.