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。
任何帮助将不胜感激。
答案 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,对代码进行必要的更改