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

SKJ*_*SKJ 3 c# string

我试图使用c#从DB读取值.查询字符串包含多个单引号 - 例如:Esca'pes'(正在从文本文件中读取查询字符串)

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

if (name.Contains('\''))
{
    name = name.Replace('\'','\''');  
}
Run Code Online (Sandbox Code Playgroud)

如何解决这个问题?

Dai*_*Dai 18

使用字符串,而不是字符文字.

name = name.Replace("'", "''");
Run Code Online (Sandbox Code Playgroud)

然而,这听起来像是将SQL字符串连接在一起.由于SQL注入的风险,这在现代应用程序设计中是一个巨大的" DO NOT "规则.请改用SQL参数.每个现代DBMS平台都支持它们,包括带有SQL Server和MySQL的ADO.NET,甚至Access都支持它们.