自动转义在文本框

时间:2016-02-15 16:01:09

标签: c# winforms textbox

我使用Win Forms进行编程以及用户在文本框中放置的内容正在将WYSIWYG转换为字符串,然后通过Sqlcommand以Sqlcommand("INSERT INTO dbo.Call VALUES('" + textBox.Text + "');", Connection);的粗略形式发送,但是如果{{1}包含双引号,它将与格式化相关(这可能会出现单引号,反斜杠等)。有没有一种简单的方法可以设置Win Forms或代码C#自动将textBox放在这些字符之前?

3 个答案:

答案 0 :(得分:5)

你不应该像这样做SQL,你应该使用参数化查询,查看MSDN文章,或者只是谷歌搜索大量的例子。

https://msdn.microsoft.com/en-us/library/system.data.sqlclient.sqlcommand.parameters(v=vs.110).aspx

编辑:澄清一下,正如有人在你的主要问题中指出的那样,这样做会消除逃避角色的需要,同时还要从该文本框中对抗SQL注入。

答案 1 :(得分:0)

您可以使用模式正则表达式替换所需的字符。

More Information on MSDN

答案 2 :(得分:0)

使用

  

Uri.EscapeDataString

C#中的方法

它将返回字符串的转义输出。