Database 检查Access数据库记录是否存在

Database 检查Access数据库记录是否存在,database,vb.net,ms-access,Database,Vb.net,Ms Access,我正在使用一个连接到access数据库的VB程序。在我的代码中,我想检查指定行中是否存在记录,如果不存在,则执行一些操作。检查行是否存在是我的问题。在伪代码中,我希望实现以下目标: If RecordAtLocationExists = False Then ... End If 我尝试过的代码包括: If DBDataSet.Tables(TableName).Rows(QuestionNumber).IsNull = True Then If DBDataSet.Tables(Table

我正在使用一个连接到access数据库的VB程序。在我的代码中,我想检查指定行中是否存在记录,如果不存在,则执行一些操作。检查行是否存在是我的问题。在伪代码中,我希望实现以下目标:

If RecordAtLocationExists = False Then
...
End If
我尝试过的代码包括:

If DBDataSet.Tables(TableName).Rows(QuestionNumber).IsNull = True Then

If DBDataSet.Tables(TableName).Rows(QuestionNumber) = "" Then

If DBDataSet.Tables(TableName).Rows(QuestionNumber) = Nothing Then

If DBDataSet.Tables(TableName).Rows(QuestionNumber) = Null Then
以上代码都不起作用。我试图寻找一个解决方案,但其他一切似乎都太复杂了。我可能是走错路了,但希望我所要达到的目标是有意义的


有什么想法吗?

首先,您要检查记录是否存在于
数据表中,而不是数据库中。自填写
数据表以来,数据库数据可能已更改。尝试直接查询数据库:

 Dim specificRow as Integer = 23  '<-- Set this variable to the specific row you are looking for
 Dim query As String = "SELECT * FROM TableName WHERE QuestionNumber = ?"   
 Dim cmd As OleDbCommand = New OleDbCommand(query, myConnection)   
 cmd.Parameters.AddWithValue("questionnumber", specificRow)
 dr = cmd.ExecuteReader 

请解释它的意思:记录存在于指定的行中?“RecordAtLocationExists”显然不是VB,而是伪代码。例如,可以是DBDataSet.Tables(TableName).Rows(QuestionNumber)或类似DataSet.TableName.Row(1)这样更简单的内容。有意义吗?如果您想知道存在多少行,请检查rows.Count属性(因此QuestionNumberIf dr.Read() Then ' Do stuff here Else ' Do another stuff here End if