Asp.net SQL查询和特殊字符

Asp.net SQL查询和特殊字符,asp.net,sql-server,Asp.net,Sql Server,当我尝试使用SQL Server数据库上具有“>”、“%”和其他特殊字符的值进行INSERT查询时遇到问题 当然,如果应用程序是ASP Net Web应用程序(C#) 我准备插入查询的方式是: string Query1 = "UPDATE message SET message = '" + mymessage + "' " + "WHERE operationType = '" + value_operationType + "' " + "AND la

当我尝试使用SQL Server数据库上具有“>”、“%”和其他特殊字符的值进行INSERT查询时遇到问题

当然,如果应用程序是ASP Net Web应用程序(C#)

我准备插入查询的方式是:

string Query1 = 
    "UPDATE message SET message = '" + mymessage + "' " + 
    "WHERE  operationType = '" + value_operationType + "' " + 
    "AND    languageType = '" + value_languageType + "';";
使用IIS 7我没有这个问题,但使用IIS 6我有这个问题

在IIS 6上是否有一些配置需要更改


谢谢

创建这样的SQL命令可能导致SQL注入-正确的方法是使用SQL参数

看看:

正如您所知,这是一种危险的查询方式,因为如果有人知道如何删除您的整个数据库,那么这很可能有一天会发生

在回答您的原始问题时,您可以对值进行HTML编码:

string htmlEncodedMessage = Server.HtmlEncode(mymessage);

string Query1 = 
    "UPDATE message SET message = '" + htmlEncodedMessage + "' " + 
    "WHERE  operationType = '" + value_operationType + "' " + 
    "AND    languageType = '" + value_languageType + "';";

我强烈建议您查看其他数据库操作方法,例如LINQ到SQL。

为了回答我的问题,因为coleague能够提供它,解决方案是在web.config上添加以下一行:

<system.web>
   ...   
   <httpRuntime requestValidationMode="2.0" />
   ...
</system.web>

...   
...
谢谢