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

标签 c# winforms textbox

我正在使用 Win Forms 进行编程,无论用户在文本框中输入什么,都会将 WYSIWYG 转换为字符串,然后通过 Sqlcommand 以 Sqlcommand("INSERT INTO dbo.Call VALUES( '"+ textBox.Text + "');", Connection); 但如果 textBox 包含双引号,它会破坏格式(这可能会发生在单个引号、反斜杠等)。有没有一种简单的方法可以将 Win Forms 或 C# 代码设置为自动将 \ 放在这些字符之前?

最佳答案

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

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

编辑:澄清一下,正如有人在您的主要问题中指出的那样,这样做将消除对字符进行转义的需要,同时还可以防止来自该文本框的 SQL 注入(inject)。

关于c# - 自动转义文本框中输入的特殊字符,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35413789/

相关文章:

c# - 同时从多个文本框中选择文本

javascript - 使用 JavaScript 将文本框只读属性设置为 true

c# - 在远程机器上执行exe

c# - TypeCode 与 typeof

c# - Windows-7 64 位中的 Oracle 错误

c# - 如何将鼠标单击事件发送到隐藏窗口?

div 内的文本框在 IE 中下降

c# - 当我的所有 .XSD 都存储为资源时,如何解析 .XSD 的 schemaLocation 属性?

c# - 浏览 FindContours 方法找到的轮廓层次结构?

c# - ComboBox 像一个按钮?