2011-04-19 74 views
2

我在尝试使用SQL Server数据库中具有'>','%'和其他特殊字符的值进行INSERT查询时遇到问题...SQL查询和特殊字符

当然,如果一个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上更改?

谢谢!

回答

0

只是回答我的问题,因为一个coleague能够提供它的解决办法是添加在web.config中这样一行:

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

感谢

0

只要你知道,这是运行一个查询,就好像他们知道怎么有人可以删除你的整个数据库以危险方法,它可能会终有一天!

在回答你原来的问题,你可以HTML编码值:

string htmlEncodedMessage = Server.HtmlEncode(mymessage); 

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

我强烈建议你看看数据库操作的其他方法,比如LINQ to SQL的。