Asp classic ASP-如何从用户输入文本中删除单引号

Asp classic ASP-如何从用户输入文本中删除单引号,asp-classic,vbscript,Asp Classic,Vbscript,在表单中,用户输入随机文本并插入数据库。当前,如果用户输入单引号,则会产生错误。如何从用户答案中删除单引号?使用 answer = Request.Form("Text" & i) 上述内容将替换单引号。'通过加倍转义,即用2 x'替换',例如“Ralph” 不过,您最好使用参数化语句,这些语句将为您解决这一问题。解决此问题的正确方法是在插入数据库时使用参数。 而不是: answer.Replace("\'", ""); 使用 答案是使用。。。替换(回答“,”)与其删除单引号,不

在表单中,用户输入随机文本并插入数据库。当前,如果用户输入单引号,则会产生错误。如何从用户答案中删除单引号?

使用

answer  = Request.Form("Text" & i) 

上述内容将替换单引号。

'
通过加倍转义,即用2 x
'
替换
'
,例如
“Ralph”


不过,您最好使用参数化语句,这些语句将为您解决这一问题。

解决此问题的正确方法是在插入数据库时使用参数。 而不是:

answer.Replace("\'", "");
使用


答案是使用。。。替换(回答“,”)

与其删除单引号,不如找出如何正确地包含它们?它们是文本的一部分。如果将用户在参数中的输入传递给SQL或存储过程,则不会出现问题。answer=answer.Replace(“\”,“”)…?字符串类肯定有Replace方法。在VB代码中不应使用C类型转义,也不必转义撇号<代码>回答。替换(“”,“”)内部服务器错误,意思是语法代码错误我相信您是否使用C#.net在我的系统中工作正常使用调试仔细检查特定转义仅适用于某些特定数据库,每个数据库都有不同的转义字符串文本规则。您必须知道使用什么数据库来正确转义字符串。好的一点,我不应该假设MS db,这是参数化语句的另一个加号。
SqlCommand cmd = new SqlCommand("INSERT INTO TABLE VALUES ('" + answer + "')");
SqlCommand cmd = new SqlCommand("INSERT INTO TABLE VALUES (@answer)",answer);