Внесение данных из textBox в таблицу MySQL

Модераторы: Hawk, Romeo, Absurd, DeeJayC, WinMain

Ответить
WizzyEgo
Сообщения: 6
Зарегистрирован: 03 дек 2015, 19:55

При внесении данных из текстового поля в таблицу - в таблице отображается "???"
Текст пишу на русском, если писать на английском - все нормально.
Кодировка - cp1251

Код: Выделить всё

int ransv;
ransv = Convert::ToInt32(rans->Value);
ransv = ransv - 1;
String^ constring = L"datasource='" + this->path + "';port='" + this->port + "';username='" + this->usrname + "';password='" + this->password + "'";
MySqlConnection^ conDataBase = gcnew MySqlConnection(constring);
MySqlCommand^ cmdDataBase = gcnew MySqlCommand("set names cp1251; CREATE TABLE database." + textBox1->Text + " (id INT NOT NULL AUTO_INCREMENT, Vopros VARCHAR(250), Kolvo_Otvetov INT, Otvet1 VARCHAR(250), Otvet2 VARCHAR(250), Otvet3 VARCHAR(250), Otvet4 VARCHAR(250), Otvet5 VARCHAR(250), Otvet6 VARCHAR(250), Verniy_Otvet INT, PRIMARY KEY (id));", conDataBase);
MySqlCommand^ insertdb = gcnew MySqlCommand("insert into database." + textBox1->Text + "(Vopros, Kolvo_Otvetov, Otvet1, Otvet2, Otvet3, Otvet4, Otvet5, Otvet6, Verniy_Otvet) values ('" + this->richTextBox1->Text + "','" + this->ansnum->Value + "','" + this->ans0->Text + "','" + this->ans1->Text + "','" + this->ans2->Text + "','" + this->ans3->Text + "','" + this->ans4->Text + "','" + this->ans5->Text + "','" + ransv + "'); ", conDataBase);
MySqlDataReader^ myReader;
MySqlDataReader^ myReader2;
try{
conDataBase->Open();
//connectDB->ExecuteReader();
myReader = cmdDataBase->ExecuteReader();
myReader->Close();
myReader2 = insertdb->ExecuteReader();
while (myReader2->Read()){
}
richTextBox1->Text = "";
ans0->Text = "";
ans1->Text = "";
ans2->Text = "";
ans3->Text = "";
ans4->Text = "";
ans5->Text = "";
rans->Value = 1;
questionnum = questionnum + 1;
button3->Text = "Далее";
textBox1->Enabled = false;
}
catch (Exception^ex){
MessageBox::Show(ex->Message);
}
}
Если вносить данные в Workbench, то все нормально и вводятся русские буквы
Аватара пользователя
Romeo
Сообщения: 3126
Зарегистрирован: 02 мар 2004, 17:25
Откуда: Крым, Севастополь
Контактная информация:

А в свойствах контрола textBox1 какая кодировка стоит?

Всегда в таких случаях я пробую спросить правильный ответ у гугла. Соорудил запрос про mySql и кодировки. Ты такое пробовал делать?

Вот одна из первых ссылок. Предлагают поправить my.ini.
Entites should not be multiplied beyond necessity @ William Occam
---
Для выделения С++ кода используйте конструкцию [ code=cpp ] Код [ /code ] (без пробелов)
---
Сообщение "Спасибо" малоинформативно. Благодарность правильнее высказать, воспользовавшись кнопкой "Reputation" в виде звёздочки, расположенной в левом нижнем углу рамки сообщения.
WizzyEgo
Сообщения: 6
Зарегистрирован: 03 дек 2015, 19:55

Romeo писал(а):А в свойствах контрола textBox1 какая кодировка стоит?

Всегда в таких случаях я пробую спросить правильный ответ у гугла. Соорудил запрос про mySql и кодировки. Ты такое пробовал делать?

Вот одна из первых ссылок. Предлагают поправить my.ini.

Как узнать кодировку textBox'a?
WizzyEgo
Сообщения: 6
Зарегистрирован: 03 дек 2015, 19:55

Romeo писал(а):А в свойствах контрола textBox1 какая кодировка стоит?

Всегда в таких случаях я пробую спросить правильный ответ у гугла. Соорудил запрос про mySql и кодировки. Ты такое пробовал делать?

Вот одна из первых ссылок. Предлагают поправить my.ini.

Как узнать кодировку textBox'a ?
WizzyEgo
Сообщения: 6
Зарегистрирован: 03 дек 2015, 19:55

Как узнать кодировку textBox'a?
Изменил my.ini - не помогло
И я там немного нафлудил сообщениями на проверку, извините )
WizzyEgo
Сообщения: 6
Зарегистрирован: 03 дек 2015, 19:55

Romeo писал(а):А в свойствах контрола textBox1 какая кодировка стоит?

Всегда в таких случаях я пробую спросить правильный ответ у гугла. Соорудил запрос про mySql и кодировки. Ты такое пробовал делать?

Вот одна из первых ссылок. Предлагают поправить my.ini.

Как узнать кодировку textBox?
Аватара пользователя
Romeo
Сообщения: 3126
Зарегистрирован: 02 мар 2004, 17:25
Откуда: Крым, Севастополь
Контактная информация:

Почистил лишние сообщения.

Кодировку узнать можно, открыв диалог в редакторе ресурсов, кликнув на textBox1 и, затем, выбрав свойства.
Entites should not be multiplied beyond necessity @ William Occam
---
Для выделения С++ кода используйте конструкцию [ code=cpp ] Код [ /code ] (без пробелов)
---
Сообщение "Спасибо" малоинформативно. Благодарность правильнее высказать, воспользовавшись кнопкой "Reputation" в виде звёздочки, расположенной в левом нижнем углу рамки сообщения.
WizzyEgo
Сообщения: 6
Зарегистрирован: 03 дек 2015, 19:55

Romeo писал(а):Почистил лишние сообщения.

Кодировку узнать можно, открыв диалог в редакторе ресурсов, кликнув на textBox1 и, затем, выбрав свойства.

Не могу найти данное свойство у textBox'a
Изображение
Изображение
Аватара пользователя
Romeo
Сообщения: 3126
Зарегистрирован: 02 мар 2004, 17:25
Откуда: Крым, Севастополь
Контактная информация:

В .NET редакторе ресурсов не разбираюсь, скажу честно. Но если это свойство есть в C++ редакторе, то и в .NET тоже должно быть.

Знакоти .NET есть? Можете дать человеку совет?

И ещё я очень рекомендую посмотреть в сторону того, что именно и как возвращает база. Дело может быть и в ней. Опять-таки, не являюсь глубоким ценителем mysql, тем более её администрирования. Предлагаю воспользоваться гуглом.

Знатоки mysql также призываются на помощь. Оценим ваши советы.
Entites should not be multiplied beyond necessity @ William Occam
---
Для выделения С++ кода используйте конструкцию [ code=cpp ] Код [ /code ] (без пробелов)
---
Сообщение "Спасибо" малоинформативно. Благодарность правильнее высказать, воспользовавшись кнопкой "Reputation" в виде звёздочки, расположенной в левом нижнем углу рамки сообщения.
Ответить