Hallo und
tut mir leid, aber so geht das nicht.
Erstens (nur der Höflichkeit halber) solltest Du den Code-Auszug als solchen markieren: Unter "Bereiche" nicht "Zitat" auswählen, sondern C# und den Plus-Button. Das liest sich erheblich besser und macht eher Freude zum Antworten.
Zur Sache: Unter NET werden
DbConnection und (soweit erforderlich)
DbDataAdapter nur kurzfristig erzeugt und benutzt und nach Erledigung wieder geschlossen. Damit das nicht vergessen wird, geht ein typischer Ablauf so:
DataSet ds und ggf.
DataTable gehören fest zum Formular oder (noch besser) in eine eigene Klasse. Durch einen Button werden Daten abgeholt, z.B.:
C#-Quelltext
1: 2: 3: 4: 5: 6: 7: 8: 9: 10: 11: 12: 13: 14: 15:
| string myConnectionString = "..."; using(DbConnection conn = new DbConnection(myConnectionString)) { using(DbDataAdapter da = new DbDataAdapter()) { da.Connection = conn; DbCommand cmd = new DbCommand("SELECT * FROM Customers WHERE Cust_ID BETWEEN @Start AND @Ende"); cmd.Parameters.AddWithValue("@Start", 83); cmd.Parameters.AddWithValue("@Ende", 114); da.SelectCommand = cmd; try { da.Fill(ds, "Customers"); } catch(Exception ex) { MessageBox.Show(ex.ToString()); } } } |
Bei diesem Verfahren werden DbConnection und DbDataAdapter nach Erledigung automatisch aufgelöst; auch conn.Open/Close sind nicht nötig. Für die Verbindung comm/da/cmd gibt es je nach DB-System verschiedene Alternativen.
Einige weitere Hinweise:
Eine Einführung gibt es in
OpenBook VC# Kap.25 ff.. Dort werden Sql-Klassen benutzt für den MS-SQL Server; ich benutze als allgemeine Angabe Db-Klassen, Ihr benötigt MySql-Klassen. Aber alles geht weitgehend gleich. Eine Kurzfassung ist zu finden unter
Datenbanken How-To.
Zur Verwendung der DbConnection siehe
[Artikel] Ressourcen schonen - Datenbanken richtig öffnen und schließen, zur Verwendung von Parametern siehe
SQL-Befehle mit Parametern.
Wozu die Button-Clicks gedacht sind und wie alles zusammenarbeiten soll, kann und will ich nicht untersuchen. Zum einen ist der Code so nicht lesbar, dann fehlen zum Verständnis für "Fremde" viele, viele Kommentare, schließlich läuft offensichtlich einiges falsch ab. Du musst schon noch etwas mehr Vorarbeiten leisten, bevor ich Dir eine ausführlichere Antwort geben kann.
Gruß Jürgen