gpt4 book ai didi

mysql - 检查是否存在。如果存在则不插入数据,如果不存在则插入数据

转载 作者:行者123 更新时间:2023-11-29 19:45:17 25 4
gpt4 key购买 nike

我在如何将数据插入两个不同的表中遇到问题。所以我的要求是这样的。

  • 在“组详细信息”下,用户需要在下拉菜单中单击所有需要的信息,并在表格 GridView 的文本框中输入,然后再单击“添加链接”,此后页面将加载,显示已添加的职位名称和业务组细节。用户可以输入任意数量的职位名称。

我已经完成了表格,但在保存输入的数据时遇到问题。

所以我的第一个表看起来像这样 Before

我编辑它,这是我的表格 Now

所以我的问题是这样的,在我的数据库中我有两个表。一是EMPGROUP_TBL其中列有 SEQID、masterID、业务单位、部门、子部门等,另一个是 EMP_MASTERTBL包含 MasterID、姓名、姓氏、职务等列。

现在,每次我单击“添加”链接时,职位名称将无法保存在 EMP_MASTERTBL 中,因此我在 VB.Net 中创建一个代码,当我单击“组详细信息”下的“添加”按钮时,该代码将更新 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 和 EMPGROUP_TBL 详细信息。所以我想我会为此编写另一个查询吗?如何添加组详细信息并能够添加用户想要的任意数量的职位名称?

检查是否存在

我想也许我可以使用 CheckIfExist,如果员工拥有类似于您将添加的职位、业务单位、部门、子部门、分类和子分类的现有数据,消息框将显示数据已经存在。如果没有找到数据,那么它将能够在员工的组详细信息下添加详细信息。如果您输入类似的职位名称但不同的业务部门等,数据将被更新,反之亦然。

这是我的代码。

   Function SaveUserGroup() As Boolean
Try
Dim jobtitle As String = Me.txtJobtitle.Text
Dim businessunit As String = Me.ddl_BusinessUnit.SelectedValue
Dim division As String = Me.ddl_Division.SelectedValue
Dim subdivision As String = Me.ddl_SubDivision.SelectedValue
Dim classification As String = Me.ddl_Classification.SelectedValue
Dim subclassification As String = Me.ddl_SubClassification.SelectedValue
Dim CheckMasterTblIfExist As Boolean
Dim CheckGroupTblIfExist As Boolean
Dim insrtResult As Boolean
Dim seqid As String = Me.lblSEQID.Text
Dim emp_id As String = Request.QueryString("emp_id")

If jobtitle <> "" And businessunit <> "Please Select" And division <> "Please Select" And subdivision <> "Please Select" And classification <> "Please Select" And subclassification <> "Please Select" Then
CheckMasterTblIfExist = CheckRecord("SELECT MASTERID, JOBTITLE FROM EMP_MASTERTBL WHERE JOBTITLE = '" & jobtitle & "' AND MASTERID = '" & emp_id & "' ")
CheckGroupTblIfExist = CheckRecord("SELECT * FROM EMPGROUP_TBL WHERE BUSINESS_UNIT = '" & businessunit & "' AND DIVISION = '" & division & "' AND SUB_DIVISION = '" & subdivision & "' AND CLASSIFICATION = '" & classification & "' AND SUB_CLASSIFICATION = '" & subclassification & "' AND MASTERID = '" & emp_id & "' AND SEQID = '" & seqid & "'")
If Not CheckMasterTblIfExist And CheckGroupTblIfExist Then
insrtResult = UpdateInsDelRecord("UPDATE EMP_MASTERTBL SET JOBTITLE = '" & jobtitle & "' " & _
"WHERE MASTERID = '" + Me.lblval_Empid.Text + "'" & _
";" & _
"INSERT INTO EMPGROUP_TBL(MASTERID, BUSINESS_UNIT, " & _
"DIVISION, SUB_DIVISION, CLASSIFICATION, SUB_CLASSIFICATION) VALUES " & _
"('" & HandleQuote(Me.lblval_Empid.Text) & "', " & _
"'" & businessunit & "' ," & _
"'" & division & "' ," & _
"'" & subdivision & "' ," & _
"'" & classification & "' ," & _
"'" & subclassification & "')")

If Not insrtResult Then
MessageBox("alert('Error Ocurred While Inserting a Data.')")
Else
MessageBox("alert('Successfully Added.')")
End If
Else
MessageBox("alert('Data Already Exist.')")
End If
End If
Catch ex As Exception
MessageBox("Error Ocurred while Inserting a data")
Throw
End Try
End Function

我还没有完成代码。如果没有数据,我就会添加,我的问题是消息框不断告诉我数据已经存在,即使仍然没有添加员工的组详细信息。请帮我解决这个问题。

最佳答案

begin tran
if exists (select * from table with (updlock,serializable) where key = @key)
begin
update table set ...
where key = @key
end
else
begin
insert into table (key, ...)
values (@key, ...)
end
commit tran

你可以这样使用

关于mysql - 检查是否存在。如果存在则不插入数据,如果不存在则插入数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41052845/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com