Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/326.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 如何使用c更改字符串中的符号#_C#_Sql_Sql Server - Fatal编程技术网

C# 如何使用c更改字符串中的符号#

C# 如何使用c更改字符串中的符号#,c#,sql,sql-server,C#,Sql,Sql Server,我的C#应用程序能够将数据存储到SQL Server数据库中。目前,当用户在其字符串/句子中插入符号“时,我遇到了一个问题: 示例:我想“测试”您的系统 因此,在使用sql查询插入数据库时,'符号将返回一个错误 我的查询示例: INSERT INTO TABLE_NAME (POST_BODY) VALUES ('i want to 'test' your system') 然后我的计划是改变这个检查字符串,如果它包含了这个符号,它会变成这个符号 我已尝试使用此代码,但无法: void C

我的C#应用程序能够将数据存储到SQL Server数据库中。目前,当用户在其字符串/句子中插入符号“时,我遇到了一个问题:

示例:我想“测试”您的系统

因此,在使用sql查询插入数据库时,'符号将返回一个错误

我的查询示例:

INSERT INTO TABLE_NAME (POST_BODY) 
VALUES ('i want to 'test' your system')
然后我的计划是改变这个检查字符串,如果它包含了这个符号,它会变成这个符号

我已尝试使用此代码,但无法:

 void ChangeSymbol(String str)
 {
        Console.WriteLine("\"{0}\"", str);
        Console.WriteLine("\"{0}\"", str.Replace(''', '"'));
 }

请任何人提供一些解决此问题的方法。提前谢谢。

使用SQL代码将单引号插入数据库中没有问题。如果要插入文本文字,则只需使用另一个单引号转义单引号,例如

将值('James','O''Connell')插入MyTable(GivenName,FamilyName)

如果要在SQL语句中插入单独的值,那么无论数据类型如何,都应该使用参数,这样就不会出现单引号的问题,例如

mySqlCommand.CommandText = "INSERT INTO MyTable (GivenName, FamilyName) VALUES (@GivenName, @FamilyName)";
mySqlCommand.Parameters.AddWithValue("@GivenName", givenName);
mySqlCommand.Parameters.AddWithValue("@FamilyName", familyName);

您可以通过将单引号加倍来避免单引号。请尝试以下方法:

string example = "I want to ''test'' your system";

使用参数绑定。因为我们不使用MSSQL,所以我没有要输入的示例代码

这是一个样品

您能提供更多的代码吗?尤其是您用于数据插入的代码?使用参数化查询-它既可以安全地防止SQL注入,也不会出现添加单引号之类的问题。这是首选方法!可能-
命令。参数。AddWithValue(@param,“,”我想“测试”你的系统“;
@Orlig-Anbiz试试这个:
Console.WriteLine(“{0}\”,str.Replace(“,”)