【发布时间】:2011-07-18 11:42:26
【问题描述】:
我有一个带有 MySQL 后端的 ASP.Net 网页。此站点上的博客内容来自 MySQL 数据库。当我想写博客条目时,我会打开 MySQL Workbench,右键单击表格并选择“编辑数据”,然后继续输入我的条目。好吧,现在我正在开发一个 C# 应用程序,它允许我编写博客条目,这样我就不必每次都打开工作台。到目前为止,一切都很好,除了一个小问题:特殊字符。
==示例==
在textBox1中我会写如下,
我可以告诉你,由于撇号,这不起作用
我的代码看起来像这样(可能有点偏离,因为我是从内存中写出来的,但它确实有效):
MySQLCommand cmd = new MySQLCommand("",conn);
cmd.CommandText = "INSERT INTO blogEntry (entryText) VALUE (" + textBox1.text + ");";
...
这行得通,文本被插入到我的表格中。但是,当我将其拉出并将其绑定到 DataGridView 时,我看到了:
我可以告诉你,这赢了
就是这样(或者我看到一些奇怪的格式或其他东西)。
==SUMMARY==
我知道这与撇号没有被转义有关。所以我的问题是:
1) 在 C# 中,有没有办法遍历 textBox1 中的整个文本并将所有特殊字符 (') 替换为转义符 (\'),以便它们在从数据库中提取时正确显示?
2) 我读到一些人在 INSERT 语句中使用存储过程或参数。这对我有用吗?我该怎么做(我在寻找我的具体案例的例子时遇到了一些麻烦)?
感谢任何帮助、想法、链接等。
【问题讨论】: