answer = Request.Form("Text" & i)
在用戶輸入插入到數據庫中的隨機文本的窗體中。目前如果用戶輸入單引號,則會產生錯誤。我如何從用戶答案中刪除單引號'?ASP - 如何刪除用戶輸入文本中的單引號
answer = Request.Form("Text" & i)
在用戶輸入插入到數據庫中的隨機文本的窗體中。目前如果用戶輸入單引號,則會產生錯誤。我如何從用戶答案中刪除單引號'?ASP - 如何刪除用戶輸入文本中的單引號
答案是使用...更換(回答, 「'」, 「」)
'
被加倍,即2×'
更換'
例如"Ralph''s".
但是你逃脫遠最好使用與command objects參數化的語句,這將照顧這對你。
特定的轉義只適用於某些特定的數據庫,每個數據庫對於轉義字符串文字都有不同的規則。你必須知道用什麼數據庫來正確地轉義字符串。 – Guffa 2011-06-02 10:36:27
好點,我不應該假設一個MS分貝,另一個加參數化的陳述。 – 2011-06-02 10:38:51
解決此問題的正確方法是插入數據庫時使用參數。而不是 :
SqlCommand cmd = new SqlCommand("INSERT INTO TABLE VALUES ('" + answer + "')");
使用
SqlCommand cmd = new SqlCommand("INSERT INTO TABLE VALUES (@answer)",answer);
除刪除單引號的,你爲什麼不'你想出如何正確包含它們?它們是文本的一部分。如果將參數中的用戶輸入傳遞給SQL或存儲過程,則不會有問題。 – DOK 2011-06-02 10:32:17