c# - 如何一键添加多条记录?
问题描述
我正在为一个艺术协会在 Visual Studio 2017 (C#) 中编写一个新软件,以帮助他们注册即将参加比赛的学生的详细信息。我制作了一个这样的 Windows 窗体: 当我在文本框、组合框和日期时间选择器中输入详细信息后单击添加按钮时,必须更新数据网格视图,如下所示:。我尝试使用此代码
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, " ", " ");
};
但这并没有如我所愿。相反,它输入了详细信息:注册号、参与者姓名、班级、学校名称、家长电话号码以及第一个日期和第一列 就像在第二个、第三个和第四个日期和项目列中输入的其他详细信息一样,没有得到进入数据网格视图
注意:数据库在 Access 2016 中创建并插入到表单中
:
解决方案
首先,如果条件类似,它应该只是 1
if(condition1 && condition2 && condition3)
{
insert(...);
insert(...);
...
}
您为相同的参与项目集合使用了 4 个组合框。相反,您可以使用组合框来选择项目,并使用列表框将选定的项目传递给它。之后,使用 foreach 循环,您可以将列表框项添加到 db。
它应该看起来像
private void button1_Click(object sender, EventArgs e)
{
foreach(item in listbox.items)
{
insert(name.text,class.text,item.text,......);
}
}
此外,如果您将此表分成 2 个单独的表会更好。有关详细信息,您可以在这里查看!
推荐阅读
- jquery - 本地和 laravel 运行 Javascript 代码之间有区别吗?
- javascript - 在 React with Jest 中为 @material-ui withStyles 创建手动模拟
- javascript - Chrome 扩展弹出问题
- robolectric - 使用 Robolectric 4.1 的 ShadowOf() API 时出现运行时错误
- javascript - ES6:如何使用 getter 和方法更新类中的属性
- excel - 从同一张表中插入空单元格值
- docker - 使用 Tensorflow 服务的 OpenFaaS 服务模型
- c# - WPF this.NavigationService.Navigate
- spring-boot-test - SpringBootTest 集成测试不适用于多个(@SpringBootApplication)
- python - 有没有办法在 VS Code 中引用 Python 项目?