kostenloser Webspace werbefrei: lima-city


Problem mit MysqlDataReader

lima-cityForumProgrammiersprachenProgrammieren mit .NET & Mono

  1. Autor dieses Themas

    yorecords

    Kostenloser Webspace von yorecords

    yorecords hat kostenlosen Webspace.

    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
  2. Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!

    lima-city: Gratis werbefreier Webspace für deine eigene Homepage

  3. 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();
    }
  4. Autor dieses Themas

    yorecords

    Kostenloser Webspace von yorecords

    yorecords hat kostenlosen Webspace.

    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. :wink:
  5. Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!

    lima-city: Gratis werbefreier Webspace für deine eigene Homepage

Dir gefällt dieses Thema?

Über lima-city

Login zum Webhosting ohne Werbung!