Problem mit MysqlDataReader
lima-city → Forum → Programmiersprachen → Programmieren mit .NET & Mono
aktueller datensatz
code
dank
falsch mache
fehler
feld
http
message
methode
mitte
perfekt danke
problem
programm
show
string
system
tabelle
tatsache
url
verbindung
-
Hallo!
Ich hab da ein kleiness Problem mit dem MysqlDataReader... Entweder ich überseh da wieder mal irgendetwas oder es ist echt mysteriös.. Tatsache ist, dass ich schon ein ähnliches Script geschrieben habe, wo das alles funktioniert...
Naja hier ist jedenfalls mal der relevante Teil des Codes:
MySqlConnection connection = new MySqlConnection(cS); pBar2.PerformStep(); try { pBar2.PerformStep(); connection.Open(); } catch (Exception ex) { MessageBox.Show("Die Verbindung zum Server konnte nicht hergestellt werden!\n" + ex.Message, "Verbindung fehlgeschlagen"); Application.Exit(); } if (connection.State == ConnectionState.Open) { pBar2.PerformStep(); string query = "SELECT * FROM user WHERE usr = '" + bte + "'"; MySqlCommand check_user = new MySqlCommand(query); check_user.Connection = connection; MySqlDataReader Reader = check_user.ExecuteReader(); Reader.Read(); if (Reader.GetString(0) != null) { MessageBox.Show("Der eingegebene Username existiert bereits! Bitte wähle einen anderen!", "FEHLER"); Reader.Close(); return "ALREADY EXISTS"; } else { Reader.Close(); usw... }
Am Anfang hat das Visual Studio ja nicht einmal einen Fehler ausgegeben, sondern das Programm ist einfach in der Mitte stehengeblieben.. Mittlerweile gibt es mir den Fehler aus:
Invalid attempt to access a field before calling Read()
Find ich aber eigenartig, da vor der besagten if ja doch ein Reader.Read() steht.. Weiß jemand was ich falsch mache?
Danke im Voraus!
Beitrag zuletzt geändert: 30.7.2012 20:45:03 von yorecords -
Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!
lima-city: Gratis werbefreier Webspace für deine eigene Homepage
-
Hallo yorecords,
ich vermute mal, dass das Problem entsteht, wenn Du ein Feld lesen willst, obwohl kein aktueller Datensatz vorhanden ist. (Die Tabelle 'user' existiert doch, oder? scnr) D.h. Du musst den Rückgabewert der Read()-Methode überprüfen
if (Reader.Read()) { MessageBox.Show("Der eingegebene Username existiert bereits! Bitte wähle einen anderen!", "FEHLER"); Reader.Close(); return "ALREADY EXISTS"; } else { Reader.Close(); }
-
darkpandemic schrieb:
Hallo yorecords,
ich vermute mal, dass das Problem entsteht, wenn Du ein Feld lesen willst, obwohl kein aktueller Datensatz vorhanden ist. (Die Tabelle 'user' existiert doch, oder? scnr) D.h. Du musst den Rückgabewert der Read()-Methode überprüfen
if (Reader.Read()) { MessageBox.Show("Der eingegebene Username existiert bereits! Bitte wähle einen anderen!", "FEHLER"); Reader.Close(); return "ALREADY EXISTS"; } else { Reader.Close(); }
Perfekt, danke!
Ja, dieses Mal hab ich alles richtig geschrieben.
-
Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!
lima-city: Gratis werbefreier Webspace für deine eigene Homepage