C# 自动转义文本框中输入的特殊字符

C# 自动转义文本框中输入的特殊字符,c#,winforms,textbox,C#,Winforms,Textbox,我正在使用Win Forms编程,用户在文本框中输入的任何内容都将WYSIWYG转换为字符串,然后通过Sqlcommand以Sqlcommand的粗略形式发送(“插入dbo.Call值(“+textBox.text+”);”,Connection)但如果文本框包含双引号,则会影响格式(可能会出现单引号、反斜杠等)。有没有一种简单的方法可以设置Win Forms或code C以自动将\放在这些字符之前?您不应该这样做SQL,您应该使用参数化查询,查看MSDN文章,或者只是在谷歌上搜索大量示例 编

我正在使用Win Forms编程,用户在文本框中输入的任何内容都将WYSIWYG转换为字符串,然后通过Sqlcommand以
Sqlcommand的粗略形式发送(“插入dbo.Call值(“+textBox.text+”);”,Connection)
但如果
文本框
包含双引号,则会影响格式(可能会出现单引号、反斜杠等)。有没有一种简单的方法可以设置Win Forms或code C以自动将
\
放在这些字符之前?

您不应该这样做SQL,您应该使用参数化查询,查看MSDN文章,或者只是在谷歌上搜索大量示例


编辑:澄清一下,正如有人在你的主要问题中指出的那样,这样做将消除转义字符的需要,同时也会阻止从该文本框中注入SQL

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

使用

Uri.EscapeDataString

C语言中的方法#


它将为您的字符串返回一个转义输出。

使用参数化查询,您根本不需要转义。请遵循Dmitry Bychenko的提示,因此您可以在此处阻止SQL注入。对不起,我的错误(这是我在Visual Studio中完成的第一个项目,第一次使用Win表单,第一次编写C#)。谢谢你的提示!