自动转义文本框中输入的特殊字符
本文关键字:输入 特殊字符 转义 文本 | 更新日期: 2023-09-27 18:34:43
我正在使用 Win Forms 编程,用户放入文本框中的任何内容都会被 WYSIWYG 转换为字符串,然后通过 Sqlcommand 以粗略的 Sqlcommand("INSERT INTO dbo.Call VALUES('" + textBox.Text + "');", Connection);
形式发送,但如果textBox
包含双引号,它会搞砸格式(这可能会发生在单引号、反斜杠等(。有没有一种简单的方法可以将 Win 窗体或代码 C# 设置为自动将'
放在这些字符之前?
你不应该那样做SQL,你应该使用参数化查询,查看MSDN文章,或者只是谷歌它以获取大量示例。
https://msdn.microsoft.com/en-us/library/system.data.sqlclient.sqlcommand.parameters(v=vs.110(.aspx
编辑:澄清一下,正如有人在您的主要问题中指出的那样,这样做将消除转义字符的需要,同时也对抗该文本框中的SQL注入。
您可以使用模式正则表达式来替换所需的字符。
有关 MSDN 的更多信息
使用
Uri.EscapeDataString
C# 中的方法
它将返回字符串的转义输出。