2017-10-17 39 views
0

我有兩個疑問這將插入一個報價的名稱和需要處理其內部有

insertSQL = "insert into LineManager(LINEMANAGERID,LINEMANAGERNAME,BUSINESSGROUPID,STATUS) VALUES('" + lineManager.getLineManagerID() + "','" + lineManager.getLineManagerName() + "','" + lineManager.getBusinessGroupID() + "','" + lineManager.getStatus() + "')"; 

updateSQL = "update LineManager set BUSINESSGROUPID ='" + lineManager.getBusinessGroupID() + "' , LINEMANAGERNAME ='" + lineManager.getLineManagerName() + "' , STATUS ='" + lineManager.getStatus() + "' where LINEMANAGERID='" + lineManager.getLineManagerID() + "'"; 

到目前爲止,這是工作的罰款爲正規名稱更新DB-,但是當面臨問題LineManager名字就像''多克尼達先生',多米尼克先生'。它在執行期間拋出異常。

任何人都可以幫助解決這個問題嗎?

+2

使用的參數。不要使用參數來查詢字符串。 –

回答

3

使用bind variables

QSqlQuery query; 
query.prepare("insert into LineManager(LINEMANAGERID,LINEMANAGERNAME,BUSINESSGROUPID,STATUS) VALUES(:id,:name,:groupid:status)"); 
query.bindValue(":id",  lineManager.getLineManagerID()); 
query.bindValue(":name", lineManager.getLineManagerName()); 
query.bindValue(":groupid", lineManager.getBusinessGroupID()); 
query.bindValue(":status", lineManager.getStatus()); 
query.exec();