ASP.NET-сохранение специальных символов в базе данных - PullRequest
0 голосов
/ 11 ноября 2008

Скажите, пожалуйста, как сохранить строку со специальными символами в DB. Специальные символы могут содержать один символ quotes/double quotes и т. Д. Я использую ASP.NET с C #

Ответы [ 6 ]

1 голос
/ 11 ноября 2008

Использовать параметризованные запросы.

http://aspnet101.com/aspnet101/tutorials.aspx?id=1

При рендеринге клиенту также следует использовать Server.HtmlEncode () для преобразования символов, имеющих особое значение в HTML, в числовые ссылки на символы.

0 голосов
/ 19 декабря 2008

(Server.HtmlEncode (значение)) сработало!

0 голосов
/ 11 ноября 2008
Using (SqlConnection conn = new SqlConnection(connstr))
{
    Using (SqlCommand command = new SqlCommand("INSERT INTO FOO (col) VALUES (@arg)"))
    {
        command.Connection = conn;
        command.Parameters.AddWithValue("@arg",SpecialCharsString);
        command.ExecuteNonQuery();
    }
}

Считывание не должно нарушать вывод, если это так, это не код базы данных, делающий это.

0 голосов
/ 11 ноября 2008

Вы кодируете значение, когда записываете его? (Server.HtmlEncode (значение))

0 голосов
/ 11 ноября 2008

Хорошо. Хотя я сохранил в БД. Мне нужно отобразить это обратно в текстовое поле. Затем страница ломается. Пример: я сохранил имя ученика как Ани, и когда я показываю это

Как избавиться от этой проблемы?

0 голосов
/ 11 ноября 2008

Трудно ответить без особых подробностей. Но обычно лучшая ставка - это параметризованные запросы.

...