Как добавить несколько записей одним кликом? - PullRequest
0 голосов
/ 11 апреля 2019

Я программирую новое программное обеспечение в Visual Studio 2017 (C #) для художественной ассоциации, чтобы помочь им в регистрации сведений о студентах, которые собираются участвовать в их конкурсе.Я сделал форму окна следующим образом: form когда я нажимаю кнопку добавления после ввода сведений detail в текстовых полях, комбинированных полях и окне выбора даты, представление таблицы данных должно обновляться, как показано ниже: The date of program and participating item of the participant must be entered in the table as four records each for each date and item without changing other details. .Я попытался с этим кодом

private void button1_Click(object sender, EventArgs e)
    {
        if(pARTICIPATING_ITEMComboBox.Text != "--")
        {
            rEG_IDTableAdapter.Insert(nAME_OF_PARTICIPANTTextBox.Text, cLASSTextBox.Text, sCHOOL_NAMETextBox.Text, pHONE_NUMBER_OF_PARENTTextBox.Text, Convert.ToDateTime(dATE_OF_PROGRAMDateTimePicker.Text), pARTICIPATING_ITEMComboBox.Text, " ", " ");
        };
        if (comboBox1.Text != "--")
        {
            rEG_IDTableAdapter.Insert(nAME_OF_PARTICIPANTTextBox.Text, cLASSTextBox.Text, sCHOOL_NAMETextBox.Text, pHONE_NUMBER_OF_PARENTTextBox.Text, Convert.ToDateTime(dateTimePicker1.Text), comboBox1.Text, " ", " ");
        };
        if (comboBox2.Text != "--")
        {
            rEG_IDTableAdapter.Insert(nAME_OF_PARTICIPANTTextBox.Text, cLASSTextBox.Text, sCHOOL_NAMETextBox.Text, pHONE_NUMBER_OF_PARENTTextBox.Text, Convert.ToDateTime(dateTimePicker2.Text), comboBox2.Text, " ", " ");
        };
        if (comboBox3.Text != "--")
        {
            rEG_IDTableAdapter.Insert(nAME_OF_PARTICIPANTTextBox.Text, cLASSTextBox.Text, sCHOOL_NAMETextBox.Text, pHONE_NUMBER_OF_PARENTTextBox.Text, Convert.ToDateTime(dateTimePicker3.Text), comboBox3.Text, " ", " ");
        };

, но это не сработало, как я хотел.Вместо этого в него были введены данные: регистрационный номер, имя участника, класс, название школы, номер телефона родителя и первая дата, а также первый столбец Как this, т. Е. Другие данные, введенные во второй, третьей и четвертой датах и ​​столбцах элементов, не делались.не вводится в представление таблицы данных

Примечание. База данных создана в Access 2016 и вставлена ​​в форму

:

1 Ответ

0 голосов
/ 11 апреля 2019

Прежде всего, это должно быть только 1, если условие типа

if(condition1 && condition2 && condition3)
{
   insert(...);
   insert(...);
   ...
}

Вы использовали 4 комбинированных списка для одной и той же коллекции элементов участия.Вместо этого вы можете использовать комбинированный список для выбора элемента и список для передачи выбранных элементов в него.После этого с помощью цикла foreach вы можете добавлять элементы списка в базу данных.

это должно выглядеть примерно так:

private void button1_Click(object sender, EventArgs e)
{
    foreach(item in listbox.items)
    {
        insert(name.text,class.text,item.text,......);
    }
}

Также было бы лучше, если бы вы разбили эту таблицу на 2 отдельные таблицы.Для подробной информации вы можете проверить здесь !

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...