检查INSERT INTO语句是否成功

Dox*_*Dox 6 database vb.net ms-access insert

我使用MS Access数据库作为我的VB.NET应用程序的后端.我使用INSERT INTO语句将用户详细信息输入到数据库中:

cn = New OleDbConnection("Provider=Microsoft.Jet.OLEDB.4.0; Data Source=" & config("DatabasePath") & ";")
cn.Open()
cmd = New OleDbCommand("INSERT INTO blah blah blah...", cn)
dr = cmd.ExecuteReader
Run Code Online (Sandbox Code Playgroud)

一切正常,但我想检查数据是否实际输入数据库.我尝试过使用:

cn = New OleDbConnection("Provider=Microsoft.Jet.OLEDB.4.0; Data Source=" & config("DatabasePath") & ";")
cn.Open()
cmd = New OleDbCommand("INSERT INTO blah blah blah...", cn)
dr = cmd.ExecuteReader
If dr.Read() Then
    ' Blah
End If
Run Code Online (Sandbox Code Playgroud)

但显然insert语句不会返回任何内容,因此这不起作用.有什么建议?

Mat*_*son 8

如果只有INSERT语句,则可以使用ExecuteNonQuery()返回受影响的行数的方法.

像这样:

cmd = New OleDbCommand("INSERT INTO blah blah...", cn)
rowCount = cmd.ExecuteNonQuery()
If rowCount < 1 Then 
    ' Blah
Run Code Online (Sandbox Code Playgroud)

如果VB不正确,你不得不原谅我,我没有测试它,但我希望你明白这个想法.