DataColumn的AutoIncrement总是返回False

eaw*_*dat 2 vb.net oledb datacolumn

我有兴趣检查列是否具有autoincrement/allowdbnull属性.

下面有这个代码,虽然我已经有一个具有autoincrement/allowdbnull属性的列,但总是假的.

Dim dt As New DataTable()
Dim con As String = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source =" &             Application.StartupPath & "\test.mdb"
Dim sql As String = "SELECT * from teachers"
Dim i As Integer



Dim dataAdapter As New OleDb.OleDbDataAdapter(sql, con)
dataAdapter.Fill(dt)
dataAdapter.Dispose()



For Each column As DataColumn In dt.Columns

TextBox1.Text = TextBox1.Text & column.ColumnName & "      " & column.AutoIncrement & "        " & column.AllowDBNull & vbCrLf

Next
Run Code Online (Sandbox Code Playgroud)

谢谢.

Ste*_*eve 7

要使代码工作,您需要添加(在调用Fill方法之前)

  dataAdapter.MissingSchemaAction = MissingSchemaAction.AddWithKey
Run Code Online (Sandbox Code Playgroud)

这将强制适配器检索有关主键和自动编号字段的信息

MSDN MissingSchemaAction枚举