gpt4 book ai didi

c# - 使用 C# 和 ASP.Net 转义 MySQL 中的特殊字符

转载 作者:可可西里 更新时间:2023-11-01 07:45:46 25 4
gpt4 key购买 nike

我有一个带有 MySQL 后端的 ASP.Net 网页。本网站上的博客内容是从 MySQL 数据库中填充的。每当我想写博客条目时,我都会打开 MySQL Workbench,右键单击表格并选择“编辑数据”,然后继续输入我的条目。好吧,现在我正在开发一个 C# 应用程序,它允许我编写博客条目,这样我就不必每次都打开工作台了。到目前为止,除了一个小问题:特殊字符外,一切都很好。

==示例==

在 textBox1 中,我将编写以下内容,

I can tell you that this won't work because of the apostrophe

我的代码看起来像这样(可能有一点偏差,因为我是凭内存写的,但它确实有效):

MySQLCommand cmd = new MySQLCommand("",conn);
cmd.CommandText = "INSERT INTO blogEntry (entryText) VALUE (" + textBox1.text + ");";
...

这行得通,文本被插入到我的表格中。但是当我把它拉回来并将它绑定(bind)到 DataGridView 时,我看到了这个:

I can tell you that this won

就是这样(或者我看到一些奇怪的格式或其他东西)。

==SUMMARY==

我知道这与撇号没有被转义有关。所以我的问题是:

1) 在 C# 中,有没有办法遍历 textBox1 中的整个文本并将所有特殊字符 (') 替换为转义符 (\'),以便它们在从数据库中提取时正确显示?

2) 我读到一些人在 INSERT 语句中使用存储过程或参数。这对我有用吗?我究竟该怎么做(我在寻找我的具体案例的例子时遇到了一些麻烦)?

感谢任何帮助、想法、链接等。

最佳答案

如果你使用的是Mysql客户端库,你可以使用这个函数

 MySql.Data.MySqlClient.MySqlHelper.EscapeString("YOUR DATA STRING")

在你的情况下:

MySQLCommand cmd = new MySQLCommand("",conn);
cmd.CommandText = "INSERT INTO blogEntry (entryText) VALUE ('"+MySql.Data.MySqlClient.MySqlHelper.EscapeString(entryText)+"');";

关于c# - 使用 C# 和 ASP.Net 转义 MySQL 中的特殊字符,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5357831/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com