Справочник функций

Ваш аккаунт

Войти через: 
Забыли пароль?
Регистрация
Информацию о новых материалах можно получать и без регистрации:

Последние темы форума

Показать новые сообщения »

Почтовая рассылка

Подписчиков: 6482
Последний выпуск: 19.06.2015

При добавлении в базу из C# Windows.form вместо кириллицы - "?"

88K
30 мая 2013 года
CDataB
2 / / 30.05.2013
Текст из поля по нажатию на кнопку должен добавляться в базу

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

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), не помогло
88K
30 мая 2013 года
CDataB
2 / / 30.05.2013
Update, Решение:
cmd.CommandText = "INSERT INTO Customers (Name) values (@Name)";
cmd.Parameters.AddWithValue("@Name", NameBox.Text);
cmd.ExecuteNonQuery();
1
30 мая 2013 года
kot_
7.3K / / 20.01.2000
"уж сколько раз твердили миру" - используйте параметры.
Но хорошо. На своих ошибках как говориться.

Знаете кого-то, кто может ответить? Поделитесь с ним ссылкой.

Ваш ответ

Реклама на сайте | Обмен ссылками | Ссылки | Экспорт (RSS) | Контакты
Добавить статью | Добавить исходник | Добавить хостинг-провайдера | Добавить сайт в каталог