c# - 用字符串中的两个单引号替换所有单引号

标签 c# string

我正在尝试使用 C# 从数据库中读取值。 查询字符串包含多个单引号 - 例如:Esca'pes'(查询字符串正在从文本文件中读取)

所以,我想在形成 SQL 查询之前用两个单引号替换所有的单引号。我的代码如下:

if (name.Contains('\''))
{
    name = name.Replace('\'','\''');  
}

如何解决这个问题?

最佳答案

使用字符串,而不是字 rune 字。

name = name.Replace("'", "''");

不过,听起来您像是在将 SQL 字符串连接在一起。由于 SQL 注入(inject)的风险,这是现代应用程序设计中一个巨大的“不要”规则。请改用 SQL 参数。每个现代 DBMS 平台都支持它们,包括带有 SQL Server 和 MySQL 的 ADO.NET,甚至 Access 也支持它们。

关于c# - 用字符串中的两个单引号替换所有单引号,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13277517/

相关文章:

python - 替换python中括号之间的文本

string - 模糊搜索算法(近似字符串匹配算法)

c - C 中使用 read() 系统调用读取字符串

c++ - 字符串数据类型如何存储为字节

c# - 进度条和网络客户端

c# - C# 中静态成员的别名?

c# - 如何 P/调用分配并返回指向新数组的指针的函数

c# - F#中Dictionary的缩写(别名)

c# - 为什么使用MessageQueue存储异常消息?

Java String.format args索引不一致