2012-07-11 151 views
-1

我想在像vb.net创建自动递增数: -自动递增ID

01, 02, 03, 04 

等。所以这是为了。

我正在使用VB NET 2008连接OleDb到MS Access。

它将得到这个错误

操作“+”没有为类型定义“DBNull的”和式“整数”

,如果我有表空记录。但它的工作,当我在表

至少有1个记录这里是我的代码

Try 
    cmd = New OleDbCommand(" SELECT MAX(sampleID) FROM 1BK ", cnnOLEDB) 
    Dim dr As OleDbDataReader = cmd.ExecuteReader 
    If dr.Read Then 
     TextBox1.Text = dr.Item(0) + 1 
    Else 
     TextBox1.Text = "20120701" 
    End If 
Catch ex As Exception 
    MsgBox(ex.Message) 
End Try 
+0

您的查询将始终有结果,因此'dr.Read'总是返回True。表格为空时,结果为DBNull。 – 2012-07-11 01:23:46

回答

0

这可能是因为dr.Item(0)为空,且不能添加。我会先运行一个检查,以确保dr.Item(0) != null,然后再添加。如果它为空,则使得TextBox1.Text = [YOURSTARTERVALUE];