При Добавлении В Базу Из C# Windows.form Вместо Кириллицы - Вопросы

Тема в разделе ".NET - WinForms", создана пользователем CDataB, 30 май 2013.

  1. CDataB

    CDataB New Member

    Регистрация:
    30 май 2013
    Сообщения:
    1
    Симпатии:
    0
    Текст из поля по нажатию на кнопку должен добавляться в базу

    Важные моменты кода:

    1) Соединение с базой
    Код:
    SqlCоnnectiоn cn = new SqlConnection(@"Data Source=(LocalDB)\v11.0;AttachDbFilename=#Здесь путь#Database1.mdf;Integrated Security=True;");
    SqlCommand cmd = new SqlCommand();

    2) Нажатие на кнопку
    Код:
    cn.Open();
    cmd.Cоnnectiоn = cn;
    cmd.CommandText = "INSERT INTO Customers (Name) values ('" + NameBox.Text"')";
    cmd.ExecuteNonQuery();
    cmd.Clone();

    Но добавляются знаки вопроса - кодировка у базы ANSI, нужна какая-то другая, видимо (UTF-8, мб)

    ВОПРОС: Как сделать так, чтобы добавлялась кириллица, а не "вопросы"

    Варианты решений рассматривал:

    1) Много встречал ответов, что помогает добавление в ConnectionString "charset=utf8;"
    у меня не дает добавить, пишет, что не знает такого ключевого слова.
    Видимо, это только для MySQL ConnectionString

    2) cmd.CommandText = "SET NAMES 'utf8'";
    не помогло

    3) cmd.CommandText = "INSERT INTO Customers (Name) val ues (N'" + NameBox.Text"')";
    не помогло

    4) Тип столбца nvarchar(MAX), ставил другие (nchar, varchar), не помогло

    UPDATE
    Решение:
    cmd.CommandText = "INSERT INTO Customers (Name) values (@Name)";
    cmd.Parameters.AddWithValue("@Name", NameBox.Text);
    cmd.ExecuteNonQuery();
     
Загрузка...

Поделиться этой страницей