Input Validation für QtSql?

Alles rund um die Programmierung mit Qt
Antworten
phlox81
Beiträge: 97
Registriert: 7. Juli 2009 12:30
Kontaktdaten:

Input Validation für QtSql?

Beitrag von phlox81 »

Irgendwie hat mir das schon immer gedämmert, aber bei QtSql finde ich gerade wirklich nichts um Userinput auf die DB loslassen zu können.
Ich kenne das z.B. von MySQL aus, da gibts mysql_escape_string.

Was ich bisher gefunden habe, waren entsprechende Validatoren für eingabefelder, aber wie prüfe ich den restlichen Input?
Erfahrungen?
upsala
Beiträge: 3946
Registriert: 5. Februar 2006 20:52
Wohnort: Landshut
Kontaktdaten:

Beitrag von upsala »

Das ganze ist unter QSqlQuery zu finden: prepare, bindValue und exec. Der Rest steht in der Doku.
phlox81
Beiträge: 97
Registriert: 7. Juli 2009 12:30
Kontaktdaten:

Beitrag von phlox81 »

upsala hat geschrieben:Das ganze ist unter QSqlQuery zu finden: prepare, bindValue und exec. Der Rest steht in der Doku.
Nee, ich habe nach QSqlDriver::formatValue gesucht. ;)

So sieht das dann im Code aus:

Code: Alles auswählen

QSqlField sf(QString("nodename"),QVariant::String);
        sf.setValue(str);
        QString sql = "INSERT INTO nodes(nodename) VALUES("+db.driver()->formatValue(sf,true)+");";
        QSqlQuery query(sql,db);
upsala
Beiträge: 3946
Registriert: 5. Februar 2006 20:52
Wohnort: Landshut
Kontaktdaten:

Beitrag von upsala »

Schau dir doch mal die Methoden an, die ich geschrieben hatte. Die sind einfacher zu handhaben.
Antworten