Форум программистов, компьютерный форум, киберфорум
C#: Базы данных
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.64/55: Рейтинг темы: голосов - 55, средняя оценка - 4.64
2 / 2 / 1
Регистрация: 23.11.2012
Сообщений: 41

Изменение записи в БД через textBox

29.10.2013, 18:07. Показов 11623. Ответов 17
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Добрый вечер ребята, нужна ваша помощь! Имеются некоторые записи в таблице и их нужно отредактировать. Редактирую не в самой таблице а через textBox. Вот собственно вопрос как можно в этот textBox вытащить запись чтобы можно было эту запись изменить?

Может в С# есть компонент на примере Делфийского DBEdit или в свойствах как то можно?
0
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
29.10.2013, 18:07
Ответы с готовыми решениями:

Редактировать записи через TextBox, связанный с выбранной ячейкой DGV
Есть форма, на ней текстбокс1 и datagridview в которой отображаются данные из таблицы. Етот текстб привязан к ячейке, как сделать так, что...

Невозможно добавление или изменение записи. Для обеспечения целостности данных необходимо наличие связанной записи
Здравствуйте, дорогие форумчане. Пытаюсь создать приложение для работы с БД Access. Исходник прилагаю. Подскажите пожалуйста, как решить...

Изменение Textbox через comboBox
private void comboBox1_SelectedIndexChanged(object sender, EventArgs e) { double summ =...

17
 Аватар для Козадоев
165 / 155 / 33
Регистрация: 05.03.2013
Сообщений: 879
29.10.2013, 19:08
Способов много. У вас навигация по строкам есть или 1 строка из БД запрашивается?
0
2 / 2 / 1
Регистрация: 23.11.2012
Сообщений: 41
29.10.2013, 20:28  [ТС]
Немного не понял вашего вопроса.. Если вкратце то имеется форма на которой есть dataGridView. В этой таблице отображаются данные. и есть отдельная форма для редактирования на которой есть textBoxы для каждого столбца свой. И вот когда я открываю форму редактирования мне нужно чтобы в этих textBox-ах уже были данные из строки выбранной в dataGridView
0
 Аватар для Козадоев
165 / 155 / 33
Регистрация: 05.03.2013
Сообщений: 879
30.10.2013, 06:23
Цитата Сообщение от Ivan_000 Посмотреть сообщение
этих textBox-ах уже были данные из строки выбранной в dataGridView
Теперь понятно, это нетрудно сделать например так:
textBox.Text -ы раскрыть в свойствах формы (get, set).
В основной форме c dataGridView:

C#
1
2
3
4
5
6
7
8
9
10
11
12
//Вызов формы с textBox-ами и передача данных (table1BindingSource - это источник данных dataGridView)
var row = ((dataSet1.Table1Row)((DataRowView)table1BindingSource.Current).Row);
Form1 f1 = new Form1()
if(!row.IsText1Null()) f1.Text1 =  row.Text1
else f1.Text1 = '';
...
f1.ShowDialog();
if((row.IsText1Null() && f1.Text1 != "") || (!row.IsText1Null() && f1.Text1 !=  row.Text1)) row.Text1 = f1.Text1; 
...
//Сохранение - может быть перенесено в событие сохранения по кнопке и т.п.
table1BindingSource.EndEdit();
table1TableAdapter.Update(dataSet1.Table1);
2
2 / 2 / 1
Регистрация: 23.11.2012
Сообщений: 41
30.10.2013, 10:42  [ТС]
Все работает спасибо большое!
0
11 / 11 / 8
Регистрация: 18.09.2012
Сообщений: 514
12.02.2014, 01:50
помогите мне вот мой код
C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
{
            var row = ((ABITURENTS_BDDataSet.Справочник_дисциплинRow)((DataRowView)справочникДисциплинBindingSource.Current).Row);
 
            Form9 fm9 = new Form9();
            if (!row.IsНаименование_дисциплиныNull())
            {
                fm9.textBox1.Text = row.Наименование_дисциплины;
 
            }
            else
            {
                fm9.textBox1.Text = "";
            }
                    
 
 
            fm9.ShowDialog();
            if ((row.IsНаименование_дисциплиныNull() && fm9.textBox1.Text != "") || (!row.IsНаименование_дисциплиныNull() && fm9.textBox1.Text != row.Наименование_дисциплины))
            {
            row.Наименование_дисциплины=fm9.textBox1.Text;
            }
      }
при выборе записи и нажатии на кнопу изменить данные из выбранной записи не переносятся в textbox а когда закрываю окно пишет "Эта строка удалена из таблицы и не содержит данных. BeginEdit() позволит создать в этой строке новые данные."

как мне мне правильно сделать? Заранее присылаю свой проект. Если сможете покажите мне пример на одном из справочников
Вложения
Тип файла: rar Курсовой проект.rar (479.1 Кб, 76 просмотров)
0
11 / 11 / 8
Регистрация: 18.09.2012
Сообщений: 514
12.02.2014, 11:49
Цитата Сообщение от pirat2k Посмотреть сообщение
помогите мне вот мой код
C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
{
            var row = ((ABITURENTS_BDDataSet.Справочник_дисциплинRow)((DataRowView)справочникДисциплинBindingSource.Current).Row);
 
            Form9 fm9 = new Form9();
            if (!row.IsНаименование_дисциплиныNull())
            {
                fm9.textBox1.Text = row.Наименование_дисциплины;
 
            }
            else
            {
                fm9.textBox1.Text = "";
            }
                    
 
 
            fm9.ShowDialog();
            if ((row.IsНаименование_дисциплиныNull() && fm9.textBox1.Text != "") || (!row.IsНаименование_дисциплиныNull() && fm9.textBox1.Text != row.Наименование_дисциплины))
            {
            row.Наименование_дисциплины=fm9.textBox1.Text;
            }
      }
при выборе записи и нажатии на кнопу изменить данные из выбранной записи не переносятся в textbox а когда закрываю окно пишет "Эта строка удалена из таблицы и не содержит данных. BeginEdit() позволит создать в этой строке новые данные."

как мне мне правильно сделать? Заранее присылаю свой проект. Если сможете покажите мне пример на одном из справочников
у меня все равно оно на выбранную запись не переходит

Добавлено через 9 минут
Цитата Сообщение от pirat2k Посмотреть сообщение
if ((row.IsНаименование_дисциплиныNull() && fm9.textBox1.Text != "") || (!row.IsНаименование_дисциплиныNull() && fm9.textBox1.Text != row.Наименование_дисциплины))
ошибка " if ((row.IsНаименование_дисциплиныNull() && fm9.textBox1.Text != "") || (!row.IsНаименование_дисциплиныNull() && fm9.textBox1.Text != row.Наименование_дисциплины))"

Добавлено через 51 минуту
C#
1
if((row.IsНаименование_дисциплиныNull() && fm9.textBox1.Text != "") |(!row.IsНаименование_дисциплиныNull() && fm9.textBox1.Text !=  row.Наименование_дисциплины))
ошибка "Эта строка удалена из таблицы и не содержит данных. BeginEdit() позволит создать в этой строке новые данные."

как здесь BeginEdit прикрутить?
0
 Аватар для Козадоев
165 / 155 / 33
Регистрация: 05.03.2013
Сообщений: 879
12.02.2014, 12:42
Удали это в Form7

C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
private void Form7_Activated(object sender, EventArgs e)
        {
            //справочник_дисциплинTableAdapter.Update(aBITURENTS_BDDataSet.Справочник_дисциплин);
            //справочник_дисциплинTableAdapter.Fill(aBITURENTS_BDDataSet.Справочник_дисциплин);
            //справочник_специальностейTableAdapter.Update(aBITURENTS_BDDataSet.Справочник_специальностей);
            //справочник_специальностейTableAdapter.Fill(aBITURENTS_BDDataSet.Справочник_специальностей);
            //справочник_документовTableAdapter.Update(aBITURENTS_BDDataSet.Справочник_документов);
            //справочник_документовTableAdapter.Fill(aBITURENTS_BDDataSet.Справочник_документов);
            //справочник_странTableAdapter.Update(aBITURENTS_BDDataSet.Справочник_стран);
            //справочник_странTableAdapter.Fill(aBITURENTS_BDDataSet.Справочник_стран);
        }
 
        private void dataGridView1_CellContentClick(object sender, DataGridViewCellEventArgs e)
        {
          //  справочникДисциплинBindingSource.ResetCurrentItem();
        }
И это удали в Form9 :
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
private void Form9_Load(object sender, EventArgs e)
        {
            //// TODO: данная строка кода позволяет загрузить данные в таблицу "aBITURENTS_BDDataSet.Справочник_дисциплин". При необходимости она может быть перемещена или удалена.
            //this.справочник_дисциплинTableAdapter.Fill(this.aBITURENTS_BDDataSet.Справочник_дисциплин);
            //// TODO: данная строка кода позволяет загрузить данные в таблицу "abiturentS_BDDataSet1.Справочник_специальностей". При необходимости она может быть перемещена или удалена.
            //this.справочник_дисциплинTableAdapter.Fill(this.aBITURENTS_BDDataSet.Справочник_дисциплин);
 
        }
 private void button1_Click(object sender, EventArgs e)
        {
            if (textBox1.TextLength == 0)
            {
                System.Windows.Forms.MessageBox.Show("Поле ввода пустое!", "Ошибка ввода", System.Windows.Forms.MessageBoxButtons.OK, System.Windows.Forms.MessageBoxIcon.Warning);
                textBox1.Focus();
            }
            else
            {
                           
                //справочникДисциплинBindingSource.EndEdit();
                //this.справочник_дисциплинTableAdapter.Update(this.aBITURENTS_BDDataSet.Справочник_дисциплин);
                //this.справочник_дисциплинTableAdapter.Fill(this.aBITURENTS_BDDataSet.Справочник_дисциплин);
                Close();
            }
        }
для других подобных случаев аналогично
0
11 / 11 / 8
Регистрация: 18.09.2012
Сообщений: 514
12.02.2014, 15:19
Цитата Сообщение от Козадоев Посмотреть сообщение
Удали это в Form7

C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
private void Form7_Activated(object sender, EventArgs e)
        {
            //справочник_дисциплинTableAdapter.Update(aBITURENTS_BDDataSet.Справочник_дисциплин);
            //справочник_дисциплинTableAdapter.Fill(aBITURENTS_BDDataSet.Справочник_дисциплин);
            //справочник_специальностейTableAdapter.Update(aBITURENTS_BDDataSet.Справочник_специальностей);
            //справочник_специальностейTableAdapter.Fill(aBITURENTS_BDDataSet.Справочник_специальностей);
            //справочник_документовTableAdapter.Update(aBITURENTS_BDDataSet.Справочник_документов);
            //справочник_документовTableAdapter.Fill(aBITURENTS_BDDataSet.Справочник_документов);
            //справочник_странTableAdapter.Update(aBITURENTS_BDDataSet.Справочник_стран);
            //справочник_странTableAdapter.Fill(aBITURENTS_BDDataSet.Справочник_стран);
        }
 
        private void dataGridView1_CellContentClick(object sender, DataGridViewCellEventArgs e)
        {
          //  справочникДисциплинBindingSource.ResetCurrentItem();
        }
И это удали в Form9 :
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
private void Form9_Load(object sender, EventArgs e)
        {
            //// TODO: данная строка кода позволяет загрузить данные в таблицу "aBITURENTS_BDDataSet.Справочник_дисциплин". При необходимости она может быть перемещена или удалена.
            //this.справочник_дисциплинTableAdapter.Fill(this.aBITURENTS_BDDataSet.Справочник_дисциплин);
            //// TODO: данная строка кода позволяет загрузить данные в таблицу "abiturentS_BDDataSet1.Справочник_специальностей". При необходимости она может быть перемещена или удалена.
            //this.справочник_дисциплинTableAdapter.Fill(this.aBITURENTS_BDDataSet.Справочник_дисциплин);
 
        }
 private void button1_Click(object sender, EventArgs e)
        {
            if (textBox1.TextLength == 0)
            {
                System.Windows.Forms.MessageBox.Show("Поле ввода пустое!", "Ошибка ввода", System.Windows.Forms.MessageBoxButtons.OK, System.Windows.Forms.MessageBoxIcon.Warning);
                textBox1.Focus();
            }
            else
            {
                           
                //справочникДисциплинBindingSource.EndEdit();
                //this.справочник_дисциплинTableAdapter.Update(this.aBITURENTS_BDDataSet.Справочник_дисциплин);
                //this.справочник_дисциплинTableAdapter.Fill(this.aBITURENTS_BDDataSet.Справочник_дисциплин);
                Close();
            }
        }
для других подобных случаев аналогично
Отредактировалось но когда я заново запускаю приложение данные не сохраняются

Добавлено через 5 минут
Цитата Сообщение от pirat2k Посмотреть сообщение
Отредактировалось но когда я заново запускаю приложение данные не сохраняются
к примеру Русский язр как был так и остался, не смотря на то что я его отредактировал
0
 Аватар для Козадоев
165 / 155 / 33
Регистрация: 05.03.2013
Сообщений: 879
12.02.2014, 15:32
Цитата Сообщение от pirat2k Посмотреть сообщение
к примеру Русский язр как был так и остался, не смотря на то что я его отредактировал
так добавь метод сохранения (this.справочник_дисциплинTableAdapter.U pdate()). например по кнопке "сохранить"
0
11 / 11 / 8
Регистрация: 18.09.2012
Сообщений: 514
12.02.2014, 16:52
Цитата Сообщение от pirat2k Посмотреть сообщение
Отредактировалось но когда я заново запускаю приложение данные не сохраняются

Добавлено через 5 минут


к примеру Русский язр как был так и остался, не смотря на то что я его отредактировал
и если я удалю те строчки в Form7 Activated то получится если мне понадобится добавить запись то данные отобразятся только при новом открытии этой формы

Добавлено через 3 минуты
Цитата Сообщение от Козадоев Посмотреть сообщение
так добавь метод сохранения (this.справочник_дисциплинTableAdapter.U pdate()). например по кнопке "сохранить"
он есть но все равно не помогает

Добавлено через 9 минут
Цитата Сообщение от pirat2k Посмотреть сообщение
и если я удалю те строчки в Form7 Activated то получится если мне понадобится добавить запись то данные отобразятся только при новом открытии этой формы

Добавлено через 3 минуты


он есть но все равно не помогает
нашел способ чтобы при закрытии формы данные сохранялись

C#
1
2
3
4
5
 private void Form7_FormClosed(object sender, FormClosedEventArgs e)
        {
            this.справочник_дисциплинTableAdapter.Update(this.aBITURENTS_BDDataSet.Справочник_дисциплин);
            this.справочник_дисциплинTableAdapter.Fill(this.aBITURENTS_BDDataSet.Справочник_дисциплин);
        }
Добавлено через 8 минут
Цитата Сообщение от pirat2k Посмотреть сообщение
и если я удалю те строчки в Form7 Activated то получится если мне понадобится добавить запись то данные отобразятся только при новом открытии этой формы

Добавлено через 3 минуты


он есть но все равно не помогает

Добавлено через 9 минут


нашел способ чтобы при закрытии формы данные сохранялись

C#
1
2
3
4
5
 private void Form7_FormClosed(object sender, FormClosedEventArgs e)
        {
            this.справочник_дисциплинTableAdapter.Update(this.aBITURENTS_BDDataSet.Справочник_дисциплин);
            this.справочник_дисциплинTableAdapter.Fill(this.aBITURENTS_BDDataSet.Справочник_дисциплин);
        }
но не думаю что это рациональный способ, а если будет много TextBox'ов и надо определять для каждого, это ж какое условие больщое должно быть??? А как быть если к примеру добавляю новую запись??? Она же не отобразится сразу после того как я нажал к примеру сохранить и закрыл модальную форму. Приходится перезакрывать справочник чтобы она отобразилась. И почему он выдает ошибку если у меня в событии Activated есть метод обновления данных?

Добавлено через 14 минут
Цитата Сообщение от pirat2k Посмотреть сообщение
и если я удалю те строчки в Form7 Activated то получится если мне понадобится добавить запись то данные отобразятся только при новом открытии этой формы

Добавлено через 3 минуты


он есть но все равно не помогает

Добавлено через 9 минут


нашел способ чтобы при закрытии формы данные сохранялись

C#
1
2
3
4
5
 private void Form7_FormClosed(object sender, FormClosedEventArgs e)
        {
            this.справочник_дисциплинTableAdapter.Update(this.aBITURENTS_BDDataSet.Справочник_дисциплин);
            this.справочник_дисциплинTableAdapter.Fill(this.aBITURENTS_BDDataSet.Справочник_дисциплин);
        }
Добавлено через 8 минут


но не думаю что это рациональный способ, а если будет много TextBox'ов и надо определять для каждого, это ж какое условие больщое должно быть??? А как быть если к примеру добавляю новую запись??? Она же не отобразится сразу после того как я нажал к примеру сохранить и закрыл модальную форму. Приходится перезакрывать справочник чтобы она отобразилась. И почему он выдает ошибку если у меня в событии Activated есть метод обновления данных?
все!!!! проблема полностью разрешилась. Теперь все обновляется и редактируется и добавляется как положенно

вот код на обновление данных когда форма активна
C#
1
2
 this.справочник_дисциплинTableAdapter.Adapter.Update(aBITURENTS_BDDataSet.Справочник_дисциплин);
 this.справочник_дисциплинTableAdapter.Adapter.Fill(aBITURENTS_BDDataSet.Справочник_дисциплин);
Добавлено через 24 минуты
Цитата Сообщение от pirat2k Посмотреть сообщение
и если я удалю те строчки в Form7 Activated то получится если мне понадобится добавить запись то данные отобразятся только при новом открытии этой формы

Добавлено через 3 минуты


он есть но все равно не помогает

Добавлено через 9 минут


нашел способ чтобы при закрытии формы данные сохранялись

C#
1
2
3
4
5
 private void Form7_FormClosed(object sender, FormClosedEventArgs e)
        {
            this.справочник_дисциплинTableAdapter.Update(this.aBITURENTS_BDDataSet.Справочник_дисциплин);
            this.справочник_дисциплинTableAdapter.Fill(this.aBITURENTS_BDDataSet.Справочник_дисциплин);
        }
Добавлено через 8 минут


но не думаю что это рациональный способ, а если будет много TextBox'ов и надо определять для каждого, это ж какое условие больщое должно быть??? А как быть если к примеру добавляю новую запись??? Она же не отобразится сразу после того как я нажал к примеру сохранить и закрыл модальную форму. Приходится перезакрывать справочник чтобы она отобразилась. И почему он выдает ошибку если у меня в событии Activated есть метод обновления данных?

Добавлено через 14 минут


все!!!! проблема полностью разрешилась. Теперь все обновляется и редактируется и добавляется как положенно

вот код на обновление данных когда форма активна
C#
1
2
 this.справочник_дисциплинTableAdapter.Adapter.Update(aBITURENTS_BDDataSet.Справочник_дисциплин);
 this.справочник_дисциплинTableAdapter.Adapter.Fill(aBITURENTS_BDDataSet.Справочник_дисциплин);
Теперь вопрос как мне реализовать блокировку ненужных символов? Если к примеру в поле ввода я удалю запись она сохранится, а как сделать чтобы оно выдавало сообщение о том что поле ввода пустое и если ввели в дисциплину цифру оно предупреждало что такой символ недопустим, у меня было это в событии KeyPress но теперь от него уже толку никакого.

Добавлено через 6 минут
Цитата Сообщение от pirat2k Посмотреть сообщение
Теперь вопрос как мне реализовать блокировку ненужных символов? Если к примеру в поле ввода я удалю запись она сохранится, а как сделать чтобы оно выдавало сообщение о том что поле ввода пустое и если ввели в дисциплину цифру оно предупреждало что такой символ недопустим, у меня было это в событии KeyPress но теперь от него уже толку никакого.
Сорри сморозил глупость

Добавлено через 6 минут
Цитата Сообщение от pirat2k Посмотреть сообщение
и если я удалю те строчки в Form7 Activated то получится если мне понадобится добавить запись то данные отобразятся только при новом открытии этой формы

Добавлено через 3 минуты


он есть но все равно не помогает

Добавлено через 9 минут


нашел способ чтобы при закрытии формы данные сохранялись

C#
1
2
3
4
5
 private void Form7_FormClosed(object sender, FormClosedEventArgs e)
        {
            this.справочник_дисциплинTableAdapter.Update(this.aBITURENTS_BDDataSet.Справочник_дисциплин);
            this.справочник_дисциплинTableAdapter.Fill(this.aBITURENTS_BDDataSet.Справочник_дисциплин);
        }
Добавлено через 8 минут


но не думаю что это рациональный способ, а если будет много TextBox'ов и надо определять для каждого, это ж какое условие больщое должно быть??? А как быть если к примеру добавляю новую запись??? Она же не отобразится сразу после того как я нажал к примеру сохранить и закрыл модальную форму. Приходится перезакрывать справочник чтобы она отобразилась. И почему он выдает ошибку если у меня в событии Activated есть метод обновления данных?

Добавлено через 14 минут


все!!!! проблема полностью разрешилась. Теперь все обновляется и редактируется и добавляется как положенно

вот код на обновление данных когда форма активна
C#
1
2
 this.справочник_дисциплинTableAdapter.Adapter.Update(aBITURENTS_BDDataSet.Справочник_дисциплин);
 this.справочник_дисциплинTableAdapter.Adapter.Fill(aBITURENTS_BDDataSet.Справочник_дисциплин);
Добавлено через 24 минуты


Теперь вопрос как мне реализовать блокировку ненужных символов? Если к примеру в поле ввода я удалю запись она сохранится, а как сделать чтобы оно выдавало сообщение о том что поле ввода пустое и если ввели в дисциплину цифру оно предупреждало что такой символ недопустим, у меня было это в событии KeyPress но теперь от него уже толку никакого.

Добавлено через 6 минут

Сорри сморозил глупость


и еще вопрос при нажатии кнопки Отмена данные все равно обновляются. Как сделать чтобы при нажатии Отмена данные не сохранялись?
0
 Аватар для Козадоев
165 / 155 / 33
Регистрация: 05.03.2013
Сообщений: 879
12.02.2014, 17:10
А зачем Fill после Update? Думаю тебе проще заказать курсач. Твой курсач дорого не стоит. А то, как ты реализуешь задачу - даже на слабый трояк не тянет.
0
11 / 11 / 8
Регистрация: 18.09.2012
Сообщений: 514
12.02.2014, 19:40
Цитата Сообщение от Козадоев Посмотреть сообщение
А зачем Fill после Update? Думаю тебе проще заказать курсач. Твой курсач дорого не стоит. А то, как ты реализуешь задачу - даже на слабый трояк не тянет.
дешевле самому сделать. Я не для того учился 4 года чтобы курсачи заказывать

Добавлено через 4 минуты
Fill загружает данные в талицу

Добавлено через 38 секунд
просто c# мы недавно изучать стали вот и курсач сделали по этой дисциплине
0
Заблокирован
12.02.2014, 19:48
Как сделать чтобы при нажатии Отмена данные не сохранялись?
Form7 - это же вспомогательная форма?
Если вспомогательная, то вызывайте Form7.ShowDialog() вместо Form7.Show(). Вызов Update перенесите в форму, вызывающую Show(). Настройте DialogResult у кнопок и самой формы. Тогда ShowDialog() будет возвращать значение, по которому можно узнать, какая кнопка нажата.
0
11 / 11 / 8
Регистрация: 18.09.2012
Сообщений: 514
12.02.2014, 20:09
Цитата Сообщение от Водяной Змей Посмотреть сообщение
Form7 - это же вспомогательная форма?
Если вспомогательная, то вызывайте Form7.ShowDialog() вместо Form7.Show(). Вызов Update перенесите в форму, вызывающую Show(). Настройте DialogResult у кнопок и самой формы. Тогда ShowDialog() будет возвращать значение, по которому можно узнать, какая кнопка нажата.
вспомогательная Form9

в том алгоритме два IF обьясните мне их назначение?? а особенно последний

Добавлено через 12 минут
и как мне в этом алгоритме это реализовать
C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
 var row = ((ABITURENTS_BDDataSet.Справочник_дисциплинRow)((DataRowView)справочникДисциплинBindingSource.Current).Row);
 
            Form9 fm9 = new Form9();
            if (!row.IsНаименование_дисциплиныNull())
            {
                fm9.textBox1.Text = row.Наименование_дисциплины;
 
            }
            else
            {
                fm9.textBox1.Text = "";
            }
 
 
 
            fm9.ShowDialog();
            if ((row.IsНаименование_дисциплиныNull() && fm9.textBox1.Text != "") || (!row.IsНаименование_дисциплиныNull() && fm9.textBox1.Text != row.Наименование_дисциплины))
            {
                row.Наименование_дисциплины = fm9.textBox1.Text;
0
Заблокирован
12.02.2014, 20:09
Проверка, не пустые ли строки.

Вызов Update перенесите в код, вызывающий ShowDialog(). Настройте DialogResult у кнопок и самой формы Form9. Тогда ShowDialog() будет возвращать значение, по которому можно узнать, какая кнопка нажата.
0
 Аватар для Козадоев
165 / 155 / 33
Регистрация: 05.03.2013
Сообщений: 879
12.02.2014, 20:09
Цитата Сообщение от pirat2k Посмотреть сообщение
Fill загружает данные в талицу
После Update Fill не надо вызывать, данные в таблице актуальные.
Цитата Сообщение от pirat2k Посмотреть сообщение
Я не для того учился 4 года чтобы курсачи заказывать
Это хорошо, что есть желание.
0
11 / 11 / 8
Регистрация: 18.09.2012
Сообщений: 514
12.02.2014, 21:10
Цитата Сообщение от Козадоев Посмотреть сообщение
После Update Fill не надо вызывать, данные в таблице актуальные.
Это хорошо, что есть желание.
как реализовать в твоем алгоритме чтобы оно не сохраняло изменения при нажатии кнопки Отмена. И да обьясни мне мне что в If-ах а особенно в последнем

Добавлено через 16 минут
Цитата Сообщение от pirat2k Посмотреть сообщение
как реализовать в твоем алгоритме чтобы оно не сохраняло изменения при нажатии кнопки Отмена. И да обьясни мне мне что в If-ах а особенно в последнем
а то нажимаю отмена а данные сохраняются

Добавлено через 15 минут
Цитата Сообщение от Водяной Змей Посмотреть сообщение
Проверка, не пустые ли строки.

Вызов Update перенесите в код, вызывающий ShowDialog(). Настройте DialogResult у кнопок и самой формы Form9. Тогда ShowDialog() будет возвращать значение, по которому можно узнать, какая кнопка нажата.
спасибо получилось


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
public void button2_Click(object sender, EventArgs e)
        {
            var row = ((ABITURENTS_BDDataSet.Справочник_дисциплинRow)((DataRowView)справочникДисциплинBindingSource.Current).Row);
 
            Form9 fm9 = new Form9();
 
 
            if (!row.IsНаименование_дисциплиныNull())
            {
                fm9.textBox1.Text = row.Наименование_дисциплины;
 
            }
            else
            {
                fm9.textBox1.Text = "";
            }
 
 
 
            if (fm9.ShowDialog() == DialogResult.OK)
            {
                if ((row.IsНаименование_дисциплиныNull() && fm9.textBox1.Text != "") || (!row.IsНаименование_дисциплиныNull() && fm9.textBox1.Text != row.Наименование_дисциплины))
                {
                    row.Наименование_дисциплины = fm9.textBox1.Text;
                    справочник_дисциплинTableAdapter.Adapter.Update(aBITURENTS_BDDataSet.Справочник_дисциплин);
                }
            }
            else
            {
                fm9.Close();
            }
        }

фуууух всем спс за понимание!!!!

Добавлено через 23 минуты
Цитата Сообщение от pirat2k Посмотреть сообщение
как реализовать в твоем алгоритме чтобы оно не сохраняло изменения при нажатии кнопки Отмена. И да обьясни мне мне что в If-ах а особенно в последнем

Добавлено через 16 минут


а то нажимаю отмена а данные сохраняются

Добавлено через 15 минут


спасибо получилось


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
public void button2_Click(object sender, EventArgs e)
        {
            var row = ((ABITURENTS_BDDataSet.Справочник_дисциплинRow)((DataRowView)справочникДисциплинBindingSource.Current).Row);
 
            Form9 fm9 = new Form9();
 
 
            if (!row.IsНаименование_дисциплиныNull())
            {
                fm9.textBox1.Text = row.Наименование_дисциплины;
 
            }
            else
            {
                fm9.textBox1.Text = "";
            }
 
 
 
            if (fm9.ShowDialog() == DialogResult.OK)
            {
                if ((row.IsНаименование_дисциплиныNull() && fm9.textBox1.Text != "") || (!row.IsНаименование_дисциплиныNull() && fm9.textBox1.Text != row.Наименование_дисциплины))
                {
                    row.Наименование_дисциплины = fm9.textBox1.Text;
                    справочник_дисциплинTableAdapter.Adapter.Update(aBITURENTS_BDDataSet.Справочник_дисциплин);
                }
            }
            else
            {
                fm9.Close();
            }
        }

фуууух всем спс за понимание!!!!

и последний вопрос, как мне сделать проверку textbox на пустоту чтобы выбивало сообщение и не закрывало модальную форму
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
12.02.2014, 21:10
Помогаю со студенческими работами здесь

Изменение textbox через другую форму
Вопросов юудет много... Вот первый Всем привет. Я тут новенький. И вот сразу задам вопрос.. Вот есть есть на Form2 TexBox куда...

Изменение размера картинки через textbox
Всем привет. У меня такой вопрос, на форме у меня расположена картинка в элементе picturebox, возможно ли изменять размер картинки задавая...

Добавление записи в hosts через TextBox
Мне нужно внести строчки в хостс чтоб блочил сайты чтобы было удобнее я хочу сделать не через консоль, а через форму, и в текст боксе...

Ввод массивов через множество textBox, подсчёт суммы, и вывод через listBox. Ошибка при вводе через textBox
Создал я кучу текст боксов, там происходит ввод каждого элемента массива. И вывод через листбокс По идее должен...

Изменение записи в БД через contenteditable
<? $delete_qr1 = mysql_query("SELECT * FROM `stek` WHERE `date`='Понедельник' AND `date1`='1 неделя' ORDER BY `stek`.`id` ASC"); ...


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

Или воспользуйтесь поиском по форуму:
18
Ответ Создать тему
Новые блоги и статьи
Модель ЗдрввоСохранения 7: больше работников, больше ресурсов.
anaschu 08.04.2026
работников и заданий может быть сколько угодно, но настроено всё так, что используется пока что только 20%
Дальние перспективы сервера - слоя сети с космологическим дизайном интефейса карты и логики.
Hrethgir 07.04.2026
Дальнейшее ближайшее планирование вывело к размышлениям над дальними перспективами. И вот тут может быть даже будут нужны оценки специалистов, так как в дальних перспективах всё может очень сильно. . .
Горе от ума
kumehtar 07.04.2026
Эта мне ментальная установка, что вот прямо сейчас, мол, мне для полного счастья не хватает (нужное вписать), и когда я этого достигну - тогда и полный кайф. Одна из самых сильных ловушек на пути. . . .
Использование значений реквизитов справочника в документе, с определенными условиями и правами
Maks 07.04.2026
1. Контроль срока действия договора Алгоритм из решения ниже реализован на примере нетипового документа "ЗаявкаНаРаботу", разработанного в конфигурации КА2. Задача: уведомлять пользователя, если. . .
Доступность команды формы по условию
Maks 07.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "СписаниеМатериалов", разработанного в конфигурации КА2. Задача: сделать доступной кнопку (команда формы "ЗавершитьСписание") при. . .
Уведомление о неверно выбранном значении справочника
Maks 06.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "НарядПутевка", разработанного в конфигурации КА2. Задача: уведомлять пользователя, если в документе выбран неверный склад. . .
Установка Qt Creator для C и C++: ставим среду, CMake и MinGW без фреймворка Qt
8Observer8 05.04.2026
Среду разработки Qt Creator можно установить без фреймворка Qt. Есть отдельный репозиторий для этой среды: https:/ / github. com/ qt-creator/ qt-creator, где можно скачать установщик, на вкладке Releases:. . .
AkelPad-скрипты, структуры, и немного лирики..
testuser2 05.04.2026
Такая программа, как AkelPad существует уже давно, и также давно существуют скрипты под нее. Тем не менее, прога живет, периодически что-то не спеша дополняется, улучшается. Что меня в первую очередь. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru