C# 在sql db中插入一个包含特殊字符';

C# 在sql db中插入一个包含特殊字符';,c#,sql,string,C#,Sql,String,我想在sql表中插入一个可能包含“字符”的字符串 我最好的方法是什么? 是否应在“”之前插入\? 这是我的c代码命令: 其中NewWorkspaceName可能包含“”字符,因此插入将导致此时出现异常 感谢高级版,哈达斯。您应该使用SqlParameter “”是sql中的一个“”您只有一个选择,别管其他的了。使用如下参数化查询 SqlCommand myCommand = new SqlCommand("insert into ACTIVE.dbo.Workspaces_WsToRefile"

我想在sql表中插入一个可能包含“字符”的字符串

我最好的方法是什么? 是否应在“”之前插入\? 这是我的c代码命令:

其中NewWorkspaceName可能包含“”字符,因此插入将导致此时出现异常


感谢高级版,哈达斯。

您应该使用SqlParameter


“”是sql中的一个“”

您只有一个选择,别管其他的了。使用如下参数化查询

SqlCommand myCommand = new SqlCommand("insert into ACTIVE.dbo.Workspaces_WsToRefile" + 
                                      " values(@id, @space, getDate()", myConnection);  
myCommand.Parameters.AddWithValue("@id", folderId);
myCommand.Parameters.AddWithValue("@space", NewWorkspaceName);
myCommand.ExecuteNonQuery();
folderID和NewWorkspaceName将传递给Sql引擎内部参数。
这将处理引号等特殊字符。
但使用参数化查询还可以获得另一个好处。如果要避免

您可以尝试以下方法:

string stringToDatabase=Server.HtmlEncode("կҤїАͻBsdҤїА");
这将在数据库中保存“stringToDatabase” . 然后在检索时

string OriginalText=Server.HtmlDecode(stringFromDatabase);

您应该在查询中使用参数!当心小桌子!当NewWorkspaceName是
“hi”);从用户删除;--“
?我肯定它不会是“hi”);从用户删除;--”时会发生什么,我唯一的问题是字符串上的“handleing”。它必须是WebUtility.HtmlEncode(stringFromDatabase),否则它不起作用
SqlCommand myCommand = new SqlCommand("insert into ACTIVE.dbo.Workspaces_WsToRefile" + 
                                      " values(@id, @space, getDate()", myConnection);  
myCommand.Parameters.AddWithValue("@id", folderId);
myCommand.Parameters.AddWithValue("@space", NewWorkspaceName);
myCommand.ExecuteNonQuery();
string stringToDatabase=Server.HtmlEncode("կҤїАͻBsdҤїА");
string OriginalText=Server.HtmlDecode(stringFromDatabase);