C#MySQLDriverCS-';插入/更新中的字符

本文关键字:更新 字符 插入 C#MySQLDriverCS- | 更新日期: 2023-09-27 18:27:30

我正在使用MySQLDriverCS将我的C#程序与MySQL数据库连接起来。

一切都很顺利,除非我想运行一个插入/更新查询,其中一个值包含'字符。

MySQL希望用单个'(即'' )转义'字符

但我不能让C#允许我以同样的方式逃离角色。当我尝试'''时,它在数据库中以''' =>结束,查询失败并出现异常。

查询示例:

UPDATE products SET brand = 'L'Occitane', product = 'Test' WHERE id = 435

=>SQL异常

尝试替换:

text = text.Replace("''", "'''");
UPDATE products SET brand = 'L'''Occitane', product = 'Test' WHERE id = 435

=>SQL异常

C#MySQLDriverCS-';插入/更新中的字符

MySQL在转义文本字符串中的撇号时会做得更好,方法是将它们加倍,而不是在它们前面加上反斜杠。

所以,试试这个。

UPDATE products SET brand = 'L''Occitane', product = 'Test' WHERE id = 435

但是最好使用绑定变量。这样就可以避免为应用程序的数据处理字符串转义猴子业务。

Connector.NET连接器可以很好地处理这种绑定变量。