Проблема с вставкой данных в LocalDB из другой формы - PullRequest
0 голосов
/ 03 июня 2019

в течение нескольких часов я сталкиваюсь с этой странной (по крайней мере для меня) проблемой с вставкой данных в локальную базу данных в WinForms.Я создал две формы.Одна форма представляет собой меню с кнопками, такими как «Добавить», «Редактировать», «Удалить» и с сеткой просмотра.После нажатия кнопки «Добавить» появляется другая форма с некоторыми текстовыми полями, которые мне нужно заполнить, и кнопкой «Сохранить», которая должна сохранять введенные данные в базу данных.

Я намеревался создать персонализированный органайзер для моегоДядя небольшой компании в качестве упражнения, где вы можете добавить клиентов (полное имя, номер телефона, тип автомобиля, проблема и дата принятия).Когда я пытаюсь добавить нового клиента - новая строка вставляется в базу данных.После заполнения текстовых полей и нажатия кнопки «Сохранить» данные должны быть зафиксированы и обновлены в базе данных, но этого никогда не происходит, я не знаю почему.Код компилируется без ошибок, попытался отладить, но не смог найти ничего, что помогло бы мне с этой проблемой.На самом деле, если я приведу этот код только в одну форму, он работает как шарм, но когда он «разделен» на 2 формы, он не хочет сотрудничать.Я действительно не могу делать какие-либо операции с базой данных из другой формы.Кажется, что есть какая-то проблема со ссылками или привязкой данных, с которой я новичок.

Есть код кнопки формы 1:

private void addButton_Click(object sender, EventArgs e)
        {
            using (var addForm = new addForm())
            {

                appData.customerTable.AddcustomerTableRow(appData.customerTable.NewcustomerTableRow());
                customerTableBindingSource.MoveLast();
                addForm.ShowDialog();

            }

        }

И есть форма 2 - проблемная:


private void saveButton_Click(object sender, EventArgs e)
        {
            try
            {
                if(MessageBox.Show("Czy chcesz zakończyć edycję?", "Pytanie", MessageBoxButtons.YesNo, MessageBoxIcon.Question) == DialogResult.Yes)
                {

                    customerTableBindingSource.EndEdit();
                    customerTableTableAdapter.Update(appData.customerTable);

                    addFormCloseTimer.Start();

                }
                else
                {
                    // do nothing
                }


            }
            catch(Exception ex)
            {
                MessageBox.Show(ex.Message, "Błąd podczas dodawania", MessageBoxButtons.OK, MessageBoxIcon.Error);
                appData.customerTable.RejectChanges();
            }

        }
    }

На самом деле я думаю, что эту проблему можно решить очень просто, но после многих часов работы в интернете я сдался.Я буду очень признателен за любую помощь!

...