Hi nochmal,
nun habe ich ein weiteres Problem (allerdings passt es leider nicht mehr zum vorherigen Thema *sorry*).
Also ich lese alle Tabellen und Spalten aus einer Datenbank aus. Das klappt auch alles so wie es soll (im Code unten hab ich die Auswahl der Datenbankverbindung mal weggelassen). Allerdings möchte ich gerne, dass er mir zu einem String auch seine Länge angibt.
Könnt ihr mir helfen, wie ich den Code dahingehend umstrukturieren kann?
[highlight=vbnet]
ListBox1.Items.Clear()
Dim sItem As String
Dim sTableName As String
Dim con As New OleDbConnection
'(...) Datenbankverbindung auswählen und "vorbeiten"
con.Open()
Try
'Tabellennamen anzeigen
Dim aTable As DataTable
aTable = con.GetOleDbSchemaTable(OleDbSchemaGuid.Tables, _
New Object() {Nothing, Nothing, Nothing, "TABLE"})
For Each aTbl As DataRow In aTable.Rows
sTableName = String.Format("{0}", aTbl("TABLE_NAME"))
sItem = ("Tabelle: »" & sTableName & "«")
ListBox1.Items.Add(sItem)
'Spaltenname und Datentyp anzeigen
Dim aSchemaTable As DataTable
aSchemaTable = con.GetOleDbSchemaTable(OleDbSchemaGuid.Columns, New Object() {Nothing, Nothing, sTableName, Nothing})
For Each aRow As DataRow In aSchemaTable.Rows
Dim Spalte As String
Dim Datentyp As String
Dim DT As OleDb.OleDbType
Spalte = String.Format("»{0}«", aRow("COLUMN_NAME"))
Datentyp = String.Format("{0}", aRow("DATA_TYPE"))
DT = Datentyp
sItem = ("Spalte " & Spalte & " ist vom Datentyp »" & DT.ToString & "«")
ListBox1.Items.Add(sItem)
Next
ListBox1.Items.Add("")
Next
Finally
con.Close()
End Try
[/highlight]
nun habe ich ein weiteres Problem (allerdings passt es leider nicht mehr zum vorherigen Thema *sorry*).
Also ich lese alle Tabellen und Spalten aus einer Datenbank aus. Das klappt auch alles so wie es soll (im Code unten hab ich die Auswahl der Datenbankverbindung mal weggelassen). Allerdings möchte ich gerne, dass er mir zu einem String auch seine Länge angibt.
Könnt ihr mir helfen, wie ich den Code dahingehend umstrukturieren kann?
[highlight=vbnet]
ListBox1.Items.Clear()
Dim sItem As String
Dim sTableName As String
Dim con As New OleDbConnection
'(...) Datenbankverbindung auswählen und "vorbeiten"
con.Open()
Try
'Tabellennamen anzeigen
Dim aTable As DataTable
aTable = con.GetOleDbSchemaTable(OleDbSchemaGuid.Tables, _
New Object() {Nothing, Nothing, Nothing, "TABLE"})
For Each aTbl As DataRow In aTable.Rows
sTableName = String.Format("{0}", aTbl("TABLE_NAME"))
sItem = ("Tabelle: »" & sTableName & "«")
ListBox1.Items.Add(sItem)
'Spaltenname und Datentyp anzeigen
Dim aSchemaTable As DataTable
aSchemaTable = con.GetOleDbSchemaTable(OleDbSchemaGuid.Columns, New Object() {Nothing, Nothing, sTableName, Nothing})
For Each aRow As DataRow In aSchemaTable.Rows
Dim Spalte As String
Dim Datentyp As String
Dim DT As OleDb.OleDbType
Spalte = String.Format("»{0}«", aRow("COLUMN_NAME"))
Datentyp = String.Format("{0}", aRow("DATA_TYPE"))
DT = Datentyp
sItem = ("Spalte " & Spalte & " ist vom Datentyp »" & DT.ToString & "«")
ListBox1.Items.Add(sItem)
Next
ListBox1.Items.Add("")
Next
Finally
con.Close()
End Try
[/highlight]
Comment