Datentypumwandlung



  • Hi.
    Und zwar ruf ich aus einer MySQL-Datenbank einen Wert vom Datentyp MEDIUMINT(5)
    ab. Also hier ist es eine Postleitzahl.

    cmd = new OdbcCommand(S"SELECT PLZ FROM Personen",con);
    reader = cmd->ExecuteReader();
    Console::WriteLine("Spalte PLZ:");
    int i = 0;
    		while ( reader->Read() )
            {
    			String *sName = reader->GetString(0);
    			int iPlz = reader->GetInt16(0);
                Console::WriteLine(sName);
    			Console::WriteLine(iPlz);
    			i++;
    
            }
            reader->Close();
            reader = NULL;
    

    Wenn sich die Konsole öffnet erscheint folgender Fehler:

    Spalte PLZ:
    ERROR: System.InvalidCastException: Die angegebene Umwandlung ist ungültig.
    at System.Data.Odbc.OdbcDataReader.GetInt16(Int32 i)
    at main() in uebungadonet.cpp:line 35
    Press any key to continue

    Wie kann ich den Integer umwandeln? Danke schon mal. 🙂

    gruss wing



  • Du solltest schauen welchen Type die Splate dann im Programm hat.

    Schon GetInt32 versucht?
    Debug hilft hier immer.



  • Wer legt denn eine Postleitzahl als Integer in einer Datenbank ab? Von den führenden Nullen mal ganz abgesehen? Wolltest du mit den Werten rechnen?


Anmelden zum Antworten