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?
Input Validation für QtSql?
Nee, ich habe nach QSqlDriver::formatValue gesucht.upsala hat geschrieben:Das ganze ist unter QSqlQuery zu finden: prepare, bindValue und exec. Der Rest steht in der Doku.
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);