在保存到数据库之前,我希望字符串没有任何特殊字符和转义序列?

时间:2014-02-04 14:53:33

标签: c# asp.net sql-server

我想将字符串保存到MSSQL 2008服务器。

有时会出现一些特殊字符,这会在保存到数据库时出现异常。

处理此类情况的最佳方法是什么。是否有任何我可能忽略使用的内置功能?

4 个答案:

答案 0 :(得分:3)

答案 1 :(得分:0)

你必须在字符串中检查每个特殊字符的出现,并且必须用各自的转义序列格式替换每个特殊字符。

您可以使用以下功能。这是一个样本。

public String addescape(String str)
{
    String temp = "";
    foreach (char ch in str)
    {

        if (ch == '\0')
            temp += "";
        else if (ch == '\'')
            temp += "'";
        else if (ch == '\\')
            temp += """;
        else if (ch == '<')
            temp += "&lt;";
        else if (ch == '>')
            temp += "&gt;";
        else
            temp += ch;
    }
    return (temp);
}

答案 2 :(得分:0)

如何插入数据库 - 您可以使用参数化查询来插入吗? https://stackoverflow.com/a/5529010/685341

答案 3 :(得分:0)

对于特殊字符,我会添加一些你想要使用的字符。例如添加*字符。将其写入具有修改状态的数据库。然后,当您从数据库中读取数据时,您可以删除您添加的这些字符。这是一个解决方案(绝对有一个内置的功能.NET环境),但我不知道......