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