Auslesen von Schemainformationen einer Tabelle auf einem MySQL - Server

karandras

Grünschnabel
Hi,

ich muss ein Programm schreiben das Daten aus einer MySQL - Datenbank ausliest. Ich möchte das ganze in VB.net 2005 programmieren.

Habe mir inzwischen auch von MySQL den entsprechenden Connector 1.0.7 geholt. Eine Verbindung zu meinem Server der sich auf meinem localhost befindet habe ich auch schon.

Woran ich aber nun seit ca. 1 Woche scheitere ist es die Daten auszulesen. Ich muss an dieser Stelle zugeben, das ich vorher noch nie mit einem DataReader bzw. einer Datatable gearbeitet habe und mir sich das Konzept eines DataReader zwar theoretisch erschließt, nur praktisch bekomm ich es einfach nicht hin.

Also wie ich im Titel schon geschrieben habe, möchte die Schemainformationen aus meiner Datenbank haben. Hierzu habe ich mich nachdem ich mir meine Verbindung mit

Code:
 Dim mycn as MySqlConnection
Dim mydt as DataTable
Dim mydr as DataTableReader
Dim mycmd as MySqlCommand

mycn = New MySqlConnection("Database=#####;Data Source=localhost;User Id=####;Password=#########")
mycn.Open()
erstellt habe. Möchte ich nun die Schemainformationen mit der Methode "GetSchema" des Connection-Objekts abfragen.

Hierfür habe ich mir zunächst die Daten in meine DataTable geladen.
Code:
 mydt=mycn.GetSchema("tables")
und möchte nun die Daten mit einem DataTableReader auslesen. Hierfür habe ich mir mit
Code:
 mydr = New DataTableReader(mydt)
einen Reader erzeugt, den ich nun durchlaufen möchte.

aber sobald ich zu
Code:
 mydr.read()
komme, springt mein debugger mit "DataTableReader ist für die aktuelle DataTable 'Tables' ungültig" an.

OK und nun zu meinen eigentlichen Fragen.
Hat das schon einmal jemand gemacht? Und wenn ja wie kann ich die Daten auslesen? Und warum bekomm ich diese Meldung?

Ich habe dieses Topic aufgemacht, da ich auch nach recht ausführlichen Internetrecherchen nicht wirklich Hilfe zu dem Thema gefunden habe. Ich hoffe ich habe mein Problem nicht zu verwirrend geschildert.
 
Hast du dir während des Debuggens schon angesehen ob da überhaupt ein entsprechendes Schema zurück kommt? Eventuell wird die Tabelle 'Tables' nicht gefunden.
 
Ja ein Schema ist (zumindest beim ersten Versuch) zurückgekommen. Hat auch alles gut und einwandfrei ausgesehen. Leider funktionierte das ganze nur beim ersten mal, dannach bekam ich immer die Meldung.

Hab das Problem aber inzischen gelöst. Wenn ich den Reader exklusiv mit

Code:
instance.ExecuteReader()

aufrufe klappt alles. Ich denke mal das es aus irgend einem komischen Zufall beim erstenmal funktioniert hat, denn die Variante mit dem Aufruf hört sich Schlüssiger an.

Danke nochmal für deinen Tipp.
 
Zurück