EIn object in einen String konvertieren

aquasonic

Erfahrenes Mitglied
Guten morgen Jungs,

Ich habe eine Datenbankabfrage, welche ich mit einem Datareader dann auswerte, ich bekomme also alle Werte in diesem Objekt zurück. Um die Daten weiter verarbeiten zu können brauche ich jedoch das Ganze in einem String, was bei mir nicht ganz funktioniert.

Hier mein Code:

PHP:
try
   {
      connNav.Open();
      datareader = myCmd.ExecuteReader();
      while (datareader.Read() )
         {
            navid = (string)(datareader["navid"]);
         }
   }
catch (Exception ex)
   {
      result = "Ebene 1 Fehler beim Laden der Navigation:" + ex.Message;
   }
finally
   {
     connNav.Close();
     lblNavigation.Text = result;
   }

Es gibt mir auch keine Fehler beim compilieren. Nur sobald ich das Programm starte gehts ins catch hinein, wobei dann die ex.Message folgenden Inhalt hat:

PHP:
Specified cast is not valid

navid aus der Datenbank hat keinen NULL-Wert ;)

Ich wäre euch sehr dankbar wenn mit jemand sagen könnte was ich hier falsch mache oder wie ich das Problem lösen könnte?!
 
Wenn ich das richtig verstanden habe, willst du einfach die Daten der Abfrage auslesen und nicht das Objekt selbst in einen String verwandeln.

Der Datareader sollte eigentlich die Daten im ursprünglichen Format der Tabelle wiedergeben. D.h. du müsstest eigentlich gar keinen (string) Cast-Operator benützen (der ja eh nicht funktioniert).

Allerdings macht dein Code für mich keinen Sinn, da der "navid"-Variable ja laufend neue Werte zugewiesen werden ohne dies auszuwerten. Ist dies beabsichtigt?
 
Wenn du aus einer Datenbank z.B. Daten liest, bekommst du immer ein Object zurück.
Du musst

navid = datareader["navid"].ToString();

verwenden. Dann gehts.

Markus
 

Neue Beiträge

Zurück