一尘不染

将包含特殊字符'的字符串插入sql db

sql

我想在SQL表中插入一个可能包含’字符的字符串。

我这样做的最好方法是什么?我应该在’之前插入\吗?这是我在ac#代码中的命令:

SqlCommand myCommand = new SqlCommand(
    String.Format(
    "insert into ACTIVE.dbo.Workspaces_WsToRefile values({0},'{1}',getdate())", 
        folderId, 
        NewWorkspaceName), 
     myConnection);

其中NewWorkspaceName可能包含’字符,因此插入将立即导致异常。

感谢先进的哈达斯。


阅读 173

收藏
2021-03-17

共1个答案

一尘不染

您应该使用SqlParameter。http://msdn.microsoft.com/zh-
CN/library/yy6y35y8.aspx

    string query = "insert into ACTIVE.dbo.Workspaces_WsToRefile values(@folderID, @newWorkSpace, @createDate)";

using(SqlCommand cmd = new SqlCommand(query, SqlConnection))
{

    SqlParameter param = new SqlParameter("@folderID", folderId);
    param.SqlDbType = SqlDbType.Int;
    cmd.Parameters.Add(param);
    .....
}
2021-03-17