Вопрос

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.

Это было полезно?

Решение

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

Другие советы

ds = new dataset()

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

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

dt = ds.tables(0)
Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top