3
我嘗試在MySQL中使用Parameterised查詢。這個理論似乎很簡單的,你創建的的MySqlCommand像這樣類的新實例:Parameters.AddWithValue不會用實際值替換佔位符文本
MySqlCommand command = new MySqlCommand();
此對象的的CommandText屬性設置爲一個MySQL查詢與佔位符,像這樣:
command.CommandText = "INSERT INTO `myTable` (`myField`) VALUES('@bar');
使用AddWithValue方法與實際值來代替我的佔位符文本:
command.Parameters.AddWithValue("@bar", "HelloWorld");
這就是我認爲它的工作原理,但實際上「@bar」這個詞最終被追加了,而不是「HelloWorld」。
我在做什麼錯?
參數** **永遠代替佔位符文本。參數**不是佔位符文本** - 它們是:*參數*。這就是爲什麼*參數爲什麼以及如何解決SQL注入和查詢計劃重用等問題。 –
@MarcGravell道歉,我不知道有什麼區別! Thankyou – JMK