Форум программистов, компьютерный форум, киберфорум
C# Windows Forms
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.80/5: Рейтинг темы: голосов - 5, средняя оценка - 4.80
4 / 4 / 0
Регистрация: 21.08.2016
Сообщений: 404

Объединить ввод информации из textBox или с Datagridview в одну строку кода

08.11.2019, 12:34. Показов 1053. Ответов 10
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Привет всем!
Не Могу решить проблему.
C#
1
2
cmdText = "Update [theft$] set [Year]='" + textBox2.Text + "' where [ID]=" + textBox1.Text;
cmdText = "Update [theft$] set [Year]='" + advancedDataGridView1.Rows[i].Cells[2].Value.ToString() + "' where [ID]=" + advancedDataGridView1.Rows[i].Cells[1].Value.ToString();
Код работает, но только отдельно. Как можно объединить код, чтобы можно было информацию вводит в textBox или сразу в datagridview.
Чтобы пользователю можно было выбрать как удобнее вводит информацию.
0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
08.11.2019, 12:34
Ответы с готовыми решениями:

Как ограничить ввод информации или задать маску ввода в компонент textBox?
Как ограничить ввод информации или задать маску ввода в компонент textBox

Как загрузить одну строку в массив из текстового документа (или textbox)
Здравствуйте! помогите пожалуйста! Пытаюсь загрузить одну строку в массив из текстового документа (или textbox). И вылетают ошибки типа...

Объединить две таблицы DataGridView в одну
есть две разные таблицы DataGridView с разными данными, но с одинаковым кол-во строк. возможно ли эти две таблицы соединить в третью...

10
28 / 13 / 8
Регистрация: 19.11.2015
Сообщений: 129
08.11.2019, 14:15
if не помогает?
Или тогда не понял задачи
0
4 / 4 / 0
Регистрация: 21.08.2016
Сообщений: 404
08.11.2019, 14:28  [ТС]
NikolaSN, Вот весь код.
Надо чтобы можно было изменить информацию используя textbox или напрямую в datagrid.

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
 if (button1.BackColor == System.Drawing.Color.LightGreen)
                {
                    try
                    {
                        int i = advancedDataGridView1.CurrentCell.RowIndex;                      
                        System.Data.OleDb.OleDbConnection conn = new System.Data.OleDb.OleDbConnection("Provider=Microsoft.ACE.OLEDB.12.0; Data Source=S:\\DVKC_DS\\DVKC Search Engine\\DVKC Search Engine\\DVKC Search Engine\\bin\\Debug\\Datubazes\\TPTHEFTSdb.xlsx;Extended Properties='Excel 12.0;HDR=YES'");
                        OleDbCommand cmd = new OleDbCommand("", conn);
                        string cmdText;                    
                        cmdText = "Update [theft$] set [Year]='" + textBox2.Text + "' where [ID]=" + textBox1.Text;
                     //   cmdText = "Update [theft$] set [Year]='" + advancedDataGridView1.Rows[i].Cells[2].Value.ToString() + "' where [ID]=" + advancedDataGridView1.Rows[i].Cells[1].Value.ToString();
                        cmd.CommandText = cmdText;
                        conn.Open();
                        cmd.ExecuteNonQuery();
                        conn.Close();
                        MessageBox.Show("Dati Saglabāti Datubāzē!", "DVKC Search Engine", MessageBoxButtons.OK, MessageBoxIcon.Information);
                        this.tPTHEFTSdbTableAdapter1.Fill(this.eXCEL_TPTHEFTSDataSet1.TPTHEFTSdb);
                        System.Data.DataTable table = LoadExcelSheetToTable(@"\\w-fsclu1-str\STR\LE\DF\DVKC_DS\DVKC Search Engine\DVKC Search Engine\DVKC Search Engine\bin\Debug\Datubazes\TPTHEFTSdb.xlsx", "theft");
                        PlaceTableToDatabase(table);
                        using (SqlConnection sqlCon = new SqlConnection(connectionString))
                        {
                            sqlCon.Open();
                            SqlDataAdapter sqlDa = new SqlDataAdapter("SELECT * FROM TPTHEFTSdb", sqlCon);
                            System.Data.DataTable dtbl = new System.Data.DataTable();
                            sqlDa.Fill(dtbl);
                            tPTHEFTSdbTableAdapter1.Fill(this.eXCEL_TPTHEFTSDataSet1.TPTHEFTSdb);
                            advancedDataGridView1.AutoGenerateColumns = false;
                        }
                    }
                    catch (Exception ex)
                    {
                        MessageBox.Show(ex.Message, "Dati Netika Saglabāti!\n Sazinieties ar Programmas Administratoru!", MessageBoxButtons.OK, MessageBoxIcon.Error);
 
                    }
                }
0
28 / 13 / 8
Регистрация: 19.11.2015
Сообщений: 129
08.11.2019, 14:37
я о чем...
я понял что тут нужен приоритет, то есть важнее заполненный advancedDataGridView1, ибо если поле пустое, то берем textBox1.Text; и textBox2.Text;
Верно?
Ну так сделай проверку string на EmptyOrNull полей из advancedDataGridView1, и если условие EmptyOrNull =true, то бери уже значения из textBox1 и textBox2

вот я что подразумевал, когда говорил про "if"
0
4 / 4 / 0
Регистрация: 21.08.2016
Сообщений: 404
08.11.2019, 14:50  [ТС]
NikolaSN,

Код на datagrid click:

C#
1
2
3
4
5
6
7
 private void advancedDataGridView1_CellClick(object sender, DataGridViewCellEventArgs e)
        {
            if (e.RowIndex >= 0)
            {
                DataGridViewRow row = advancedDataGridView1.Rows[e.RowIndex];
                textBox1.Text = row.Cells[1].Value.ToString();
                textBox2.Text = row.Cells[2].Value.ToString();
Мне надо как то так:
C#
1
 cmdText = "Update [theft$] set [Year]='" + textBox2.Text +  advancedDataGridView1.Rows[i].Cells[2].Value.ToString()+"' where [ID]=" + textBox1.Text+ advancedDataGridView1.Rows[i].Cells[1].Value.ToString();
Но это не работает.
0
28 / 13 / 8
Регистрация: 19.11.2015
Сообщений: 129
08.11.2019, 15:57
как вариант, можно попробовать)
C#
1
2
3
4
5
string a = String.Format("Update [theft$] set [Year]='{0} {1}' where [ID]= {2} {3}", 
                         textBox2.Text, 
                         advancedDataGridView1.Rows[i].Cells[2].Value.ToString(), 
                         textBox1.Text, 
                         advancedDataGridView1.Rows[i].Cells[1].Value.ToString());
все эти поля должны иметь тип string и складываться без проблем.

Добавлено через 53 секунды
а что за ошибка-то возникает? просто уже самому интересно стало)
0
4 / 4 / 0
Регистрация: 21.08.2016
Сообщений: 404
08.11.2019, 16:13  [ТС]
NikolaSN, Неработает
Миниатюры
Объединить ввод информации из textBox или с Datagridview в одну строку кода  
0
28 / 13 / 8
Регистрация: 19.11.2015
Сообщений: 129
08.11.2019, 17:10
Ну так это ошибка в запросе, ошибка же верная выводится [ID] = 1 1, а это же число

часть кода SQL надо поправить!

C#
1
2
3
4
5
string a = String.Format("Update [theft$] set [Year]='{0} {1}' where [ID]= {2}{3}", 
                         textBox2.Text.Trim(), 
                         advancedDataGridView1.Rows[i].Cells[2].Value.ToString().Trim(), 
                         textBox1.Text.Trim(), 
                         advancedDataGridView1.Rows[i].Cells[1].Value.ToString().Trim());
в коде выше:
1. убрал пробел между {2}{3}
2. убираем все пробелы во всех полях воизбежание геморроя в дальнейшем, если человек введет число с пробелами типа "123 "

Добавлено через 4 минуты
и еще, как вариант, выведи сам запрос в переменную какую, начитай её и попробуй выполнить в sql студии, может у тебя поле "[ID]" вообще имеет тип текстовый.
это ошибка в формировании самого текста sql, или правильности написания запроса, а не самого C#
0
4 / 4 / 0
Регистрация: 21.08.2016
Сообщений: 404
08.11.2019, 17:57  [ТС]
NikolaSN, Ошибок больше нету, но данные не сохраняется в excel.
У меня на кнопку сохранить, изменение сохраняются в excel а не в SQL.

P. S.
Данные в SQL загружается с excel, a уже с SQL загружается данные в datagridview.
Если я в datagrid буду изменять данные и сохранить напрямую в SQL, то в excel они не сохраняется. Я уже пробовал.
0
4 / 4 / 0
Регистрация: 21.08.2016
Сообщений: 404
10.11.2019, 06:28  [ТС]
Решил проблему так:

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
 private void button13_Click(object sender, EventArgs e)
        {
            if (textBox1.Text == "" & textBox2.Text == "" & textBox3.Text == "" & textBox4.Text == "" & textBox5.Text == "" & textBox6.Text == "" & textBox7.Text == "" & textBox8.Text == "" & textBox9.Text == "" & textBox14.Text == "" & textBox15.Text == "")
            {
                MessageBox.Show("Datus nevar saglabāt!\nVispirms jāveic Datu labošana!", "DVKC Search engine", MessageBoxButtons.OK, MessageBoxIcon.Information);
            }
            else
            {
                if ((button1.BackColor == System.Drawing.Color.LightGreen) & (checkBox1.Checked))
                {
                    try
                    {
                        int i = advancedDataGridView1.CurrentCell.RowIndex;
                        System.Data.OleDb.OleDbConnection conn = new System.Data.OleDb.OleDbConnection("Provider=Microsoft.ACE.OLEDB.12.0; Data Source=S:\\DVKC_DS\\DVKC Search Engine\\DVKC Search Engine\\DVKC Search Engine\\bin\\Debug\\Datubazes\\TPTHEFTSdb.xlsx;Extended Properties='Excel 12.0;HDR=YES'");
                        OleDbCommand cmd = new OleDbCommand("", conn);
                        string cmdText;
                        cmdText = "Update [theft$] set [Year]='" + textBox2.Text + "',[Object]='" + textBox3.Text + "',[Datums]='" + textBox4.Text + "',[Event]='" + textBox14.Text + "',[Action]='" + textBox15.Text + "',[Link1]='" + textBox5.Text + "',[Link2]='" + textBox6.Text + "',[Link3]='" + textBox7.Text + "',[Link4]='" + textBox8.Text + "',[Link5]='" + textBox9.Text + "' where [ID]=" + textBox1.Text;
                        cmd.CommandText = cmdText;
                        conn.Open();
                        cmd.ExecuteNonQuery();
                        conn.Close();
                        MessageBox.Show("Dati Saglabāti Datubāzē!", "DVKC Search Engine", MessageBoxButtons.OK, MessageBoxIcon.Information);
                        this.tPTHEFTSdbTableAdapter1.Fill(this.eXCEL_TPTHEFTSDataSet1.TPTHEFTSdb);
                        System.Data.DataTable table = LoadExcelSheetToTable(@"\\w-fsclu1-str\STR\LE\DF\DVKC_DS\DVKC Search Engine\DVKC Search Engine\DVKC Search Engine\bin\Debug\Datubazes\TPTHEFTSdb.xlsx", "theft");
                        PlaceTableToDatabase(table);
                        using (SqlConnection sqlCon = new SqlConnection(connectionString))
                        {
                            sqlCon.Open();
                            SqlDataAdapter sqlDa = new SqlDataAdapter("SELECT * FROM TPTHEFTSdb", sqlCon);
                            System.Data.DataTable dtbl = new System.Data.DataTable();
                            sqlDa.Fill(dtbl);
                            tPTHEFTSdbTableAdapter1.Fill(this.eXCEL_TPTHEFTSDataSet1.TPTHEFTSdb);
                            advancedDataGridView1.AutoGenerateColumns = false;
                        }
                    }
                    catch (Exception ex)
                    {
                        MessageBox.Show(ex.Message, "Dati Netika Saglabāti!\n Sazinieties ar Programmas Administratoru!", MessageBoxButtons.OK, MessageBoxIcon.Error);
                    }
                }
                if ((button1.BackColor == System.Drawing.Color.LightGreen) & (checkBox2.Checked))
                {
                    try
                    {
                        int i = advancedDataGridView1.CurrentCell.RowIndex;
                        System.Data.OleDb.OleDbConnection conn = new System.Data.OleDb.OleDbConnection("Provider=Microsoft.ACE.OLEDB.12.0; Data Source=S:\\DVKC_DS\\DVKC Search Engine\\DVKC Search Engine\\DVKC Search Engine\\bin\\Debug\\Datubazes\\TPTHEFTSdb.xlsx;Extended Properties='Excel 12.0;HDR=YES'");
                        OleDbCommand cmd = new OleDbCommand("", conn);
                        string cmdText;
                        cmdText = "Update [theft$] set [Year]='" + advancedDataGridView1.Rows[i].Cells[2].Value.ToString() + "',[Object]='" + advancedDataGridView1.Rows[i].Cells[3].Value.ToString() + "',[Datums]='" + advancedDataGridView1.Rows[i].Cells[4].Value.ToString() + "',[Event]='" + advancedDataGridView1.Rows[i].Cells[5].Value.ToString() + "',[Action]='" + advancedDataGridView1.Rows[i].Cells[6].Value.ToString() + "',[Link1]='" + advancedDataGridView1.Rows[i].Cells[7].Value.ToString() + "',[Link2]='" + advancedDataGridView1.Rows[i].Cells[8].Value.ToString() + "',[Link3]='" + advancedDataGridView1.Rows[i].Cells[9].Value.ToString() + "',[Link4]='" + advancedDataGridView1.Rows[i].Cells[10].Value.ToString() + "',[Link5]='" + advancedDataGridView1.Rows[i].Cells[11].Value.ToString() + "' where [ID]=" + advancedDataGridView1.Rows[i].Cells[1].Value.ToString();
                        cmd.CommandText = cmdText;
                        conn.Open();
                        cmd.ExecuteNonQuery();
                        conn.Close();
                        MessageBox.Show("Dati Saglabāti Datubāzē!", "DVKC Search Engine", MessageBoxButtons.OK, MessageBoxIcon.Information);
                        this.tPTHEFTSdbTableAdapter1.Fill(this.eXCEL_TPTHEFTSDataSet1.TPTHEFTSdb);
                        System.Data.DataTable table = LoadExcelSheetToTable(@"\\w-fsclu1-str\STR\LE\DF\DVKC_DS\DVKC Search Engine\DVKC Search Engine\DVKC Search Engine\bin\Debug\Datubazes\TPTHEFTSdb.xlsx", "theft");
                        PlaceTableToDatabase(table);
                        using (SqlConnection sqlCon = new SqlConnection(connectionString))
                        {
                            sqlCon.Open();
                            SqlDataAdapter sqlDa = new SqlDataAdapter("SELECT * FROM TPTHEFTSdb", sqlCon);
                            System.Data.DataTable dtbl = new System.Data.DataTable();
                            sqlDa.Fill(dtbl);
                            tPTHEFTSdbTableAdapter1.Fill(this.eXCEL_TPTHEFTSDataSet1.TPTHEFTSdb);
                            advancedDataGridView1.AutoGenerateColumns = false;
                        }
                    }
                    catch (Exception ex)
                    {
                        MessageBox.Show(ex.Message, "Dati Netika Saglabāti!\n Sazinieties ar Programmas Administratoru!", MessageBoxButtons.OK, MessageBoxIcon.Error);
                    }
                }
0
28 / 13 / 8
Регистрация: 19.11.2015
Сообщений: 129
11.11.2019, 09:55
молодцом, главное решил.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
11.11.2019, 09:55
Помогаю со студенческими работами здесь

Объединить в одну строку
Вот я получил данные заненес их в массив. $countitem = mysql_query("SELECT id FROM user_item WHERE user_id='$id' AND...

Объединить в одну строку
Всем привет! Есть файл со словами в столбец. (После каждого слова перенос каретки на новую строку). Не подскажите, как объединить все в...


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

Или воспользуйтесь поиском по форуму:
11
Ответ Создать тему
Новые блоги и статьи
Вывод данных через динамический список в справочнике
Maks 01.04.2026
Реализация из решения ниже выполнена на примере нетипового справочника "Спецтехника" разработанного в конфигурации КА2. Задача: вывести данные из ТЧ нетипового документа. . .
Функция заполнения текстового поля в реквизите формы документа
Maks 01.04.2026
Алгоритм из решения ниже реализован на нетиповом документе "ВыдачаОборудованияНаСпецтехнику" разработанного в конфигурации КА2, в дополнении к предыдущему решению. На форме документа создается. . .
К слову об оптимизации
kumehtar 01.04.2026
Вспоминаю начало 2000-х, университет, когда я писал на Delphi. Тогда среди программистов на форумах активно обсуждали аккуратную работу с памятью: нужно было следить за переменными, вовремя. . .
Идея фильтра интернета (сервер = слой+фильтр).
Hrethgir 31.03.2026
Суть идеи заключается в том, чтобы запустить свой сервер, о чём я если честно мечтал давно и давно приобрёл книгу как это сделать. Но не было причин его запускать. Очумелые учёные напечатали на. . .
Модель здравосоХранения 6. ESG-повестка и устойчивое развитие; углублённый анализ кадрового бренда
anaschu 31.03.2026
В прикрепленном документе раздумья о том, как можно поменять модель в будущем
10 пpимет, которые всегда сбываются
Maks 31.03.2026
1. Чтобы, наконец, пришла маршрутка, надо закурить. Если сигарета последняя, маршрутка придет еще до второй затяжки даже вопреки расписанию. 2. Нaдоели зима и снег? Не надо переезжать. Достаточно. . .
Перемещение выделенных строк ТЧ из одного документа в другой
Maks 31.03.2026
Реализация из решения ниже выполнена на примере нетипового документа "ВыдачаОборудованияНаСпецтехнику" с единственной табличной частью "ОборудованиеИКомплектующие" разработанного в конфигурации КА2. . . .
Functional First Web Framework Suave
DevAlt 30.03.2026
Sauve. IO Апнулись до NET10. Из зависимостей один пакет, работает одинаково хорошо как в режиме проекта так и в интерактивном режиме. из сложностей - чисто функциональный подход. Решил. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru