C# 如何使用c更改字符串中的符号#
我的C#应用程序能够将数据存储到SQL Server数据库中。目前,当用户在其字符串/句子中插入符号“时,我遇到了一个问题: 示例:我想“测试”您的系统 因此,在使用sql查询插入数据库时,'符号将返回一个错误 我的查询示例: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
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(“,”)代码>