如何使用 VB.NET 向两个表中插入数据?

Posted

技术标签:

【中文标题】如何使用 VB.NET 向两个表中插入数据?【英文标题】:How to Insert Data into Two Tables Using VB.NET? 【发布时间】:2016-11-07 06:44:41 【问题描述】:

我对如何将数据插入两个不同的表有疑问。所以我的要求是这样的。

用户将在员工信息下填写所有需要的信息,然后为了保存数据,用户将单击“保存”按钮。在组详细信息下,用户需要单击下拉菜单上的所有所需信息并在表格网格视图的文本框中输入,然后单击添加链接,之后页面将加载显示添加的职位名称和业务组详细信息。允许用户输入任意数量的职位名称。最后是 Add New Employee to Headcount 列表,用户需要单击 PROCEED 按钮才能添加添加的 Employee Information 的人数。 我已经完成了表格,但在保存我输入的数据时遇到了问题。

所以我的第一个表看起来像这样Before,我对其进行了编辑,现在这是我的表Now

所以我的问题是,在我的数据库中我有两个表。

EMP_MASTERTBL has these columns

 SEQID | MASTERID | firstname | lastname | Country | JOBTITLE

and EMPGROUP_TBL has these columns

MASTERID | business_unit | division | Sub_Division

现在每次我点击保存时,jobtitle 将无法保存在 EMP_MASTERTBL 中,因此我在 VB.Net 中创建了一个代码,当我点击 Group Details 下的添加按钮时,它将更新 EMP_MASTERTBL 表。

这是我的代码。

If UpdateInsDelRecord("INSERT INTO EMPGROUP_TBL (MASTERID, BUSINESS_UNIT, " & _
                  "DIVISION, SUB_DIVISION, CLASSIFICATION, SUB_CLASSIFICATION) VALUES " & _
                  "('" + HandleQuote(Me.lblval_Empid.Text) + "', " & _
                  "'" + Me.ddl_BusinessUnit.SelectedValue.ToString() + "' ," & _
                  "'" + val_division + "' ," & _
                  "'" + val_subdivision + "' ," & _
                  "'" + Me.ddl_Classification.SelectedValue.ToString() + "' ," & _
                  "'" + Me.ddl_SubClassification.SelectedValue.ToString() + "')" & _
                  ";" & _
                   "UPDATE EMP_MASTERTBL SET JOBTITLE = '" + Me.txtJobtitle.Text + "' " & _
                   "WHERE MASTERID = '" + Me.lblval_Empid.Text + "'") = True Then
    Return True
    Response.Redirect("eHR_EmpMaintenance.aspx")
Else
    Return False
End If

但用户必须能够根据需要添加尽可能多的 Jobtitle。所以我想我会为此写另一个查询?如何添加组详细信息并能够根据用户的需要添加尽可能多的职位?请帮帮我。

谢谢。

【问题讨论】:

如果你想插入两个表,那么你需要两个 INSERT 语句。一些 ADO.NET 提供程序,例如SqlClient,将支持每个命令的多个语句。 您必须单独编写查询才能将数据插入到两个表中... Response.Redirect("eHR_EmpMaintenance.aspx") 这行永远不会被执行 【参考方案1】:

我不太确定您的 UpdateInsDelRecord 方法。如果它只是简单地执行返回类型为 Boolean 的 sql 查询,您可以编写另一个带有 ; 分隔符的插入/更新查询。我相信你想更新 EMPMASTER_TBL 表中的 Jobtitle 字段。

If UpdateInsDelRecord("INSERT INTO EMPGROUP_TBL (MASTERID, BUSINESS_UNIT, " & _
                          "DIVISION, SUB_DIVISION, CLASSIFICATION, SUB_CLASSIFICATION) VALUES " & _
                          "('" + HandleQuote(Me.lblval_Empid.Text) + "', " & _
                          "'" + Me.ddl_BusinessUnit.SelectedValue.ToString() + "' ," & _
                          "'" + val_division + "' ," & _
                          "'" + val_subdivision + "' ," & _
                          "'" + Me.ddl_Classification.SelectedValue.ToString() + "' ," & _
                          "'" + Me.ddl_SubClassification.SelectedValue.ToString() + "')" &_
                          ";" &_ 
                           "UPDATE EMPMASTER_TBL SET JOBTITLE = "Your value" WHERE empno = "YOur emp id"  " ) = True Then
        Return True
        Response.Redirect("eHR_EmpMaintenance.aspx")
    Else
        Return False
    End If

【讨论】:

以上是关于如何使用 VB.NET 向两个表中插入数据?的主要内容,如果未能解决你的问题,请参考以下文章

如何在 SQL 服务器中将数据插入到两个不同的表中,同时在 SQL 中具有 ORDER# 主键

在 vb.net 中插入 INTO

如何获取表中的最后一个自动增量值? VB.NET

如何使用 vb.net 中 excel 表中的数据更新 sql 表

如何使用VB.NET在Access数据库中插入多条记录

vb.net 如何将两个datatable合并