DataColumn's AutoIncrement Returns False Always

谁说胖子不能爱 提交于 2019-12-07 18:56:56

问题


I am interested to check out whether column has an autoincrement/allowdbnull property .

Having this code below , gives me always false although I already have one column that has autoincrement/allowdbnull property.

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

thanks.


回答1:


To make your code work you need to add (before the call to Fill method) just

  dataAdapter.MissingSchemaAction = MissingSchemaAction.AddWithKey

This will force the adapter to retrieve the information about primary keys and autonumber fields

MSDN MissingSchemaAction enumeration




回答2:


ds = new dataset()

dataAdapter.Fill(ds,0,1,"Teachers")

dataAdapter.FillSchema(ds, SchemaType.Source, "Teachers");

dt = ds.tables(0)


来源:https://stackoverflow.com/questions/19368015/datacolumns-autoincrement-returns-false-always

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!