Форум программистов, компьютерный форум, киберфорум
C# Windows Forms
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
0 / 1 / 0
Регистрация: 29.03.2019
Сообщений: 37
1

Данные, которые находились в combobox, становятся знаками вопроса

13.06.2023, 17:07. Показов 433. Ответов 3

Author24 — интернет-сервис помощи студентам
Стою на асфальте я в лыжи обутый...А дальше как коротеньком стишке.
Вопрос заключается в том, что после того как я отредактировал нужную строку из БД, выбрав ее в DataGridView и нажал сохранить, данные, которые находились в comboboxах, становятся знаками вопроса в таблице вместо русских символов. Ниже прилагаю всю информацию. Кстати, при создании такой беды нет, только при редактировании.
Что я делал? Меня тип данных,гуглил, плакал.
Ниже расположен листинг кнопки с главной формы.
Кликните здесь для просмотра всего текста
C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
 private void button1_Click(object sender, EventArgs e)//Кнопка изменения данных
        {
            ДобавитьВкс Добавить = new ДобавитьВкс(); // Открываю форму для редактирования
 
            string id,TemaI, ZalI, IspoI, KodI, PlatI, SzI;
            id = dataGridViewR.SelectedRows[0].Cells["id"].Value.ToString();
            TemaI = dataGridViewR.SelectedRows[0].Cells["Тема"].Value.ToString();
            ZalI = dataGridViewR.SelectedRows[0].Cells["Зал"].Value.ToString();//является ComboBox
            IspoI = dataGridViewR.SelectedRows[0].Cells["Исполнитель"].Value.ToString();//является ComboBox
            KodI = dataGridViewR.SelectedRows[0].Cells["Код"].Value.ToString();
            PlatI = dataGridViewR.SelectedRows[0].Cells["Платформа"].Value.ToString();//является ComboBox
            SzI = dataGridViewR.SelectedRows[0].Cells["СЗ"].Value.ToString();
 
            Добавить.Temad = TemaI;
            Добавить.Zald = ZalI;
            Добавить.Ispod = IspoI;
            Добавить.Kodd = KodI;
            Добавить.Platd= PlatI;
            Добавить.Szd = SzI;
                        Добавить.SetText();
 
 
            if (Добавить.ShowDialog() == DialogResult.OK)
            {
                string Tema, Zal, Kod, Ispo, Sz, Plat;
                Tema = Добавить.Temad;
                Zal = Добавить.Zald;
                Kod = Добавить.Kodd;
                Ispo = Добавить.Ispod;
                Sz = Добавить.Szd;
                Plat = Добавить.Platd;
                SqlCommand cmd = new SqlCommand("UPDATE  Расписание SET Тема='" + Tema + "', Зал='" + Zal + "', Исполнитель='" + Ispo + "', Код ='" + Kod + "', Платформа ='" + Plat + "', СЗ ='" + Sz + "'  WHERE id=" + id, //обновляем данные
 
                          conn);
                conn.Open();
                cmd.Parameters.AddWithValue("@Тема", Tema);
                cmd.Parameters.AddWithValue("@Зал", Zal);
                cmd.Parameters.AddWithValue("@Исполнитель", Ispo);
                cmd.Parameters.AddWithValue("@Код", Kod);
                cmd.Parameters.AddWithValue("@Платформа", Plat);
                cmd.Parameters.AddWithValue("@СЗ", Sz);
                cmd.ExecuteNonQuery();
                conn.Close();
                DisplayData();
                MessageBox.Show("Данные внесены");

Тут листинг формы для редактирования
Кликните здесь для просмотра всего текста
C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
namespace VKS
{
    public partial class ДобавитьВкс : Form
    {
        SqlConnection conn = new SqlConnection("Data Source=(localdb)\\mssqllocaldb.;Initial Catalog=VKS;Integrated Security=True;Pooling=False");//Подключение к БД
 
        public string Temad, Zald, Kodd, Ispod, Szd, Platd;
 
        public void SetText()
        {
            texttema.Text = Temad;
            comboBox2.Text= Zald;
            textko.Text = Kodd;
            comboBox1.Text = Ispod;
            textsz.Text = Szd;
            comboBox3.Text = Platd;
        }
 
        private void ComboBox2Zal()//Загрущка данных в combobox залы
        {
            conn.Open();
            SqlDataAdapter adapt = new SqlDataAdapter(
            "SELECT * FROM Залы", conn);
            DataTable dataTable = new DataTable();
            adapt.Fill(dataTable);
            comboBox2.DataSource = dataTable;
            comboBox2.DisplayMember = "Наименование";
            comboBox2.ValueMember = "id";
 
            conn.Close();
        }
        private void ComboBox1Ispo()//Загрущка данных в combobox исполнитель
        {
            conn.Open();
            SqlDataAdapter adapt = new SqlDataAdapter(
            "SELECT * FROM Исполнитель", conn);
            DataTable dataTable = new DataTable();
            adapt.Fill(dataTable);
            comboBox1.DataSource = dataTable;
            comboBox1.DisplayMember = "Фио";
            comboBox1.ValueMember = "id";
 
            conn.Close();
        }
        private void ComboBox3Plat()//Загрузка данных в combobox платформа
        {
            conn.Open();
            SqlDataAdapter adapt = new SqlDataAdapter(
            "SELECT * FROM Platforma", conn);
            DataTable dataTable = new DataTable();
            adapt.Fill(dataTable);
            comboBox3.DataSource = dataTable;
            comboBox3.DisplayMember = "Место";
            comboBox3.ValueMember = "id";
 
            conn.Close();
        }
        public ДобавитьВкс()
        {
            InitializeComponent();
        }
        private void ДобавитьВкс_Load_1(object sender, EventArgs e)
        {
            ComboBox2Zal();
            ComboBox1Ispo();
            ComboBox3Plat();
        }
 
        private void button1_Click(object sender, EventArgs e)
        {
            Temad = texttema.Text;
            Zald = comboBox2.Text;
            Kodd = textko.Text;
            Ispod = comboBox1.Text;
            Szd = textsz.Text;
            Platd = comboBox3.Text;
            DialogResult = DialogResult.OK;
        }
 
        private void button1_Click_1(object sender, EventArgs e)
        {
            DialogResult= DialogResult.Cancel;
        }
    }
}

Тип данных таблиц nvarchar(50), единственный кто при добавлении не высылает "?"
Попрошу, по морде не бить, ссаными тряпками не кидаться.
Тут фотокарточка
Кликните здесь для просмотра всего текста
Данные, которые находились в combobox, становятся знаками вопроса
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
13.06.2023, 17:07
Ответы с готовыми решениями:

Некоторые шрифты в БД отображаются знаками вопроса
Может быть тему не там открыл. Есть некоторые шрифты, которые не определяются. Например: Ə,...

Русский шрифт отображается знаками вопроса
в настройках студии character set установлен в Use Multi-Byte Character Set в ос: панель...

Замена русских букв знаками вопроса
Создаю сайт на DomainDXL (бесплатный Asp-хостинг). Закачал Access-ную базу. Написал простую выборку...

Кодировка в консоли, кириллица представлена знаками вопроса
подскажите плиз при таком Console.WriteLine("русский текст"); коде, на консоль выводятся...

3
1504 / 1052 / 146
Регистрация: 01.10.2009
Сообщений: 3,537
Записей в блоге: 1
13.06.2023, 17:10 2
bobinete, ну так дело в кодировке, что там в базе,
0
1480 / 935 / 454
Регистрация: 06.02.2012
Сообщений: 2,862
13.06.2023, 17:13 3
bobinete,
Некорректное отображение данных БД на кириллице в DataGridView
0
0 / 1 / 0
Регистрация: 29.03.2019
Сообщений: 37
14.06.2023, 07:39  [ТС] 4
Но на добавление данных ведь все нормально, знаки вопроса появляются только при изменении записи в datagridview.
0
14.06.2023, 07:39
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
14.06.2023, 07:39
Помогаю со студенческими работами здесь

Исправить кодировку: кириллица записывается знаками вопроса
Подскажите пожалуйста, как исправить проблема. При занесение в таблицу данных русские слова...

Угадывание слова, некоторые буквы которого заменены знаками вопроса
Из файлов случайным образом выбирается слово. Несколько букв заменяются на вопросительные знаки....

Как сделать данные в алфавитном порядке которые в combobox?
Подскажите пожалуйста как сделать данные в алфавитном порядке которые в combobox, данные берутся из...

Как сохранять данные из Combobox в файл и потом отображать данные из файла в Combobox-e?
как сохранять данные из Combobox в файл и потом отображать данные из файла в Combobox-e?

Найти максимальное число посетителей, которые находились в музее одновременно
Добрый день есть программа. 1)Формулировка: В музее регистрируется в течение суток время прихода и...

Требуется найти максимальное число посетителей, которые находились в музее одновременно
Формулировка: В музее регистрируется в течение суток время прихода и ухода каждого посетителя....


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
4
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru