导入vb.net时如何检查数据库中的重复值

时间:2017-12-19 01:51:23

标签: vb.net

            For i As Integer = 0 To dgclassinfo.Rows.Count - 1

                LRN = dgclassinfo.Rows(i).Cells(2).Value.ToString
                Lname = dgclassinfo.Rows(i).Cells(3).Value.ToString
                Fname = dgclassinfo.Rows(i).Cells(4).Value.ToString
                Mname = dgclassinfo.Rows(i).Cells(5).Value.ToString


                comm.CommandText = "insert into g7(LRN,Lname,Fname,Mname ) values('" & LRN & "','" & Lname & "','" & Fname & "','" & Mname & "')"
                comm.ExecuteNonQuery()



            Next

我曾经在上面编码来导入我的数据。使用dgv。我的数据是数据绑定的。了解更多信息。当我导入文件时,它读取excel的值并显示在dgv中,我使用上面的for循环插入数据。我想我需要使用mydr.hasrows,但我不知道如何使用for循环。如何检查每一行的重复记录? LRN是我的PK。

任何帮助将不胜感激。

1 个答案:

答案 0 :(得分:0)

要检查记录是否存在,您实际上可以检查数据库的特定列,以查看该列是否包含任何包含您试图插入的相同记录的行.TO执行此操作,首先需要检查如果没有重复项,则重复数据库然后插入新数据。完整示例可能如下所示:

 Dim cmd as new SqlCommand("Select * from TABLENAME([column names-remove brackets if required])values(@value1)",con)
 cmd.parametres.AddWithValue("@value1",Firstname.Text)
 Dim dr as new SqlDataReader=cmd.Executereader

 If dr.hasRows  Then      'This checks if any duplicates exist
 Msgbox("Duplicates Found")
Else
 Dim cmd as new SqlCommand("Inserting data query here",con)

 cmd.parametres.Add("@value1",SqlDbtype.Varchar).value=Firstame.Text
 cmd.ExecuteNonQuery

我假设您使用Sql Server,对代码进行必要的更改