gpt4 book ai didi

c# - 如何在 MySQL 文档存储查找表达式中转义字符串?

转载 作者:行者123 更新时间:2023-11-28 23:11:36 25 4
gpt4 key购买 nike

我正在使用 MySQL 文档存储,但我不知道如何在查找语句中正确转义包含特殊字符的字符串。

视觉 C# 2015连接器/网络:8.0.8.0

var realmName = "Aman'Thul";
var realm = collection.Find("Name = :name")
.Bind("name", realmName).Limit(1).Execute().FetchOne();

=> System.ArgumentException: Unterminated string starting at 4

问题显然是撇号,但同样的结果出现在其他“特殊字符”上,如方括号、连字符等。

版本#2:

var realmName = "Aman''Thul";
var realm = collection.Find("Name = :realmName").Bind("realmName", realmName).Limit(1).Execute().FetchOne();

=> System.ArgumentException: Only 1 tokens consumed, out of 3

版本#3:

var realmName = "Aman\\'Thul";
var realm = collection.Find("Name = :realmName").Bind("realmName", realmName).Limit(1).Execute().FetchOne();

=> System.ArgumentException: Can't parse at pos: 4

此时我已经没有想法了。正确转义这些表达式的正确方法是什么?必须有一些我似乎找不到的通用解决方案,因为有关 MySQL 文档存储的信息很少。

最佳答案

如评论中所述 - 看来您需要自己将单词包装在字符串文字中,因为它不会自动执行此操作。但是它确实转义了该字符串的内容,因此不需要出于 MySQL 的原因转义任何内容,仅出于 C# 的原因转义。像这样:

var realmName = "\"Aman'Thul\"";

关于c# - 如何在 MySQL 文档存储查找表达式中转义字符串?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45736926/

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