2014-06-27 57 views
0

這個查詢發送到oracle有什麼問題?SQL錯誤:ORA-00904:無效的標識符 - 發送到oracle

這是我的代碼:

manager.Insert("UPDATE WEDSTRIJD SET UITSLAG ='" + uitslag + "' WHERE WedstrijdNr =" + nummer2); 

這是派:

UPDATE WEDSTRIJD SET Uitslag = '21-2' WHERE WEDSTRIJDNR = 14; 

但我怎麼可以改變什麼?

我需要這個查詢:

UPDATE WEDSTRIJD SET "Uitslag" = '21-2' WHERE "WedstrijdNr" = 14; 
+1

永遠不要永遠不要像這樣用SQL查詢來使用字符串連接。您要求成爲[SQL注入](http://en.wikipedia.org/wiki/SQL_injection)的受害者。改用參數。請。 –

+0

請加ddl。 – Jens

+0

這是一個適合學校的小型項目,到現在爲止要改變參數。但是,我知道你的意思。 – Rajco

回答

1

所以,問題是大寫和小寫,這就是爲什麼你需要的列名在引號?如果是這樣,那麼你應該在你的查詢字符串中引用名稱:

manager.Insert("UPDATE WEDSTRIJD SET \"Uitslag\" = '" + uitslag + "' WHERE \"WedstrijdNr\" = " + nummer2); 
+0

感謝您的回答,它不需要在引號中,但Oracle必須執行查詢。儘管如此,上述不起作用。 – Rajco

+0

它不是完全創建你說你需要的查詢嗎?你會得到什麼錯誤? –