Ado.net

Hallo Leutz,

kann mir einer/eine erzählen wie ich bei DataTable od. DataSet
meine Tabellennamen (nicht mit Tablenames von DataTables verwechseln)aus einer Datenbank auslesen kann.
Versucht hab ich es schon mit „Show Tables“ aber ich bekomme
einfach nix zurück.
Ich arbeite mit OLEDBProvider von MySql vielleicht hilft das
euch weiter.

Hallo

DataTable und DataSet sind ja Verbindungslos. D.H. Sie wissen ja nichts von der DB. Somit findest Du auch nicht Raus wie die Tabelle auf dem Server heisst.

Der DataAdapter weiss hingegen, wie er die Tabelle der DB mit der Tabelle im DataSet/DataTable verknüpfen muss.

Gruss Giuseppe

[Bei dieser Antwort wurde das Vollzitat nachträglich automatisiert entfernt]

Hallo Giuseppe,

schön das Du mir geantwortet hast,
die Idee war gut und für mich einleuchtend.
Habe es auch versucht direkt in die Tat umzusetzen,
bei dem unten zu sehenden Code, durchläuft dieser auch
die Schleife soviel es auch an Tabellen vorhanden ist.
Aber ich komme einfach nicht an die Tabellennamen ran.
Bei diesem Code gibt er mir immer die Fehlermeldung:„Out of Range“
Vielleicht hast Du noch ein Tip für mich?

Dim myReader As IDataReader
Dim cmd As IDbCommand
cmd = oCn.CreateCommand
cmd.CommandText = „Show tables from verwaltung;“
If oCn.State ConnectionState.Open Then oCn.Open()
myReader = cmd.ExecuteReader

Dim str As String

While myReader.Read()
„Hier bricht er ab“
str = myReader.GetString(0)
End While

Hallo

DataTable und DataSet sind ja Verbindungslos. D.H. Sie wissen
ja nichts von der DB. Somit findest Du auch nicht Raus wie die
Tabelle auf dem Server heisst.

Der DataAdapter weiss hingegen, wie er die Tabelle der DB mit
der Tabelle im DataSet/DataTable verknüpfen muss.

Gruss Giuseppe

Hallo Leutz,

kann mir einer/eine erzählen wie ich bei DataTable od. DataSet
meine Tabellennamen (nicht mit Tablenames von DataTables
verwechseln)aus einer Datenbank auslesen kann.
Versucht hab ich es schon mit „Show Tables“ aber ich bekomme
einfach nix zurück.
Ich arbeite mit OLEDBProvider von MySql vielleicht hilft das
euch weiter.

Hallo

Ach, jetzt komme ich draus was du genau willst :smile: Ich dachte du wolltest total etwas anderes machen. Also die lösung zu deinem problem kann man auch mit einem dataset/datatable lösen… aber hier mal abhilfe zu deiner variante:

ich habe es aber mit odbc.net gelöst, weil ich das gefühl habe dass es mit den oledb.* klassen nicht geht.
downloaden kannst du es hier : http://www.microsoft.com/downloads/details.aspx?fami… (bei vs.net 2003 ist es dabei)

Dim cnstring As String = "STMT=;OPTION=3;DSN=mySQL;UID=root:stuck\_out\_tongue\_winking\_eye:ASSWORD=;DESC=MySQL ODBC 3.51 Driver DSN;DATABASE=mysql;SERVER=localhost:stuck\_out\_tongue\_winking\_eye:ORT=3306"
Dim cnn As OdbcConnection = New OdbcConnection(cnstring)
Dim query As OdbcCommand = New OdbcCommand("Show tables from mysql", cnn)
cnn.Open()
Dim r As OdbcDataReader = query.ExecuteReader()
While r.Read
 MessageBox.Show(r.GetString(0))
End While
cnn.Close()

gruss

[Bei dieser Antwort wurde das Vollzitat nachträglich automatisiert entfernt]

Hallo,

die Idee von dir ist gut aber, ich habe mein ganzes Projekt
auf OLEDB-Provider laufen und das jetzt alles wegen der einen
Sache mit den Tabellen umzuschmeißen, das ist mir die Sache
nicht wert.
Leider muss ich auf eine statische Liste mit den Tabellennamen
zurückgreifen solange ich nichts anderes finde, auch wenn es mir
überhaupt nicht passt.
Trotzdem vielen Dank für deine Hilfe.

gruss :frowning: Uwe

[Bei dieser Antwort wurde das Vollzitat nachträglich automatisiert entfernt]

Hallo

Wenn Du eine Connection mit dem OLEDB Provider hingebracht hast, so wird meine lösung auch dafür funktionieren. ganz bestimmt :smile:

gruss, giuseppe

[Bei dieser Antwort wurde das Vollzitat nachträglich automatisiert entfernt]

hallo Giuseppe,

hier ist dein Alptraum,also noch einmal genauso wie du es mir
vorgeschlagen hast aber nur mit OLEDB habe ich es durchgezogen, aber Fehlermeldung.
Ich habe auch im Objekt DataReader nachgeschaut,also im Item ist
nichts enthalten und Count = 0.
Es hört sich vielleicht seltsam an aber der Reader läuft der Anzahl
der Tabellen durch.
Habe auch bei MySql nachgeschaut und gesehen, dass nur wenn man auch
die Berechtigung hat auch die Tabellen zurückbekommt, die Berechtigung
habe ich aber, denn mit MySql-Front funktioniert es einwandfrei.

Gruss Uwe

[Bei dieser Antwort wurde das Vollzitat nachträglich automatisiert entfernt]

hallo alptraum :smile:

versprechen kann ich nichts, aber mach mal eine kleine sample applikation, so wie du meinst, dass es funktionieren sollte und mail mir das.

gruss

hallo Giuseppe,

hier ist dein Alptraum,also noch einmal genauso wie du es mir
vorgeschlagen hast aber nur mit OLEDB habe ich es
durchgezogen, aber Fehlermeldung.
Ich habe auch im Objekt DataReader nachgeschaut,also im Item
ist
nichts enthalten und Count = 0.
Es hört sich vielleicht seltsam an aber der Reader läuft der
Anzahl
der Tabellen durch.
Habe auch bei MySql nachgeschaut und gesehen, dass nur wenn
man auch
die Berechtigung hat auch die Tabellen zurückbekommt, die
Berechtigung
habe ich aber, denn mit MySql-Front funktioniert es
einwandfrei.

Gruss Uwe