vb@rchiv
VB Classic
VB.NET
ADO.NET
VBA
C#
SEPA-Dateien erstellen inkl. IBAN-, BLZ-/Kontonummernprüfung  
 vb@rchiv Quick-Search: Suche startenErweiterte Suche starten   Impressum  | Datenschutz  | vb@rchiv CD Vol.6  | Shop Copyright ©2000-2025
 
zurück

 Sie sind aktuell nicht angemeldet.Funktionen: Einloggen  |  Neu registrieren  |  Suchen

VB.NET - Fortgeschrittene
Serialisierung & Deserialisierung 
Autor: Zero-G.
Datum: 08.08.07 09:32

Hallo NG

Ich versuche schon seit einiger Zeit den Code zum laufen zu bringen, aber leider funkt irgendetwas nicht...
Also folgendes Konstrukt: Ich habe eine Klasse, den Inhalt der Klasse serialisiere ich & schreibe in eine mySQL Datenbank (Feld TinyBlob). - Beim Auslesen bekomme ich dann folgenden Fehler: Das Streamende wurde erreicht, bevor die Verarbeitung abgeschlossen wurde.
----------------------------------------------------------------------------------------------------------------------
der Code zur serialisierung (funktioniert)
Dim usr As New clsBenutzer
        usr.Nachname = "Bacik"
        usr.Vorname = "Harald"
        usr.Tätigkeiten = New clsBenutzer.Benutzer() _
          {clsBenutzer.Benutzer.Administrator, _
            clsBenutzer.Benutzer.Filialleiter}
 
        Dim form As New Runtime.Serialization.Formatters.Binary.BinaryFormatter( _
          )
 
        ' --- Serialisieren
        Dim Stream As New System.IO.MemoryStream
        form.Serialize(Stream, usr)
 
        mySQLConnection.Open()
        mySQLCommand.Connection = mySQLConnection
        mySQLCommand.CommandText = "Update Mitarbeiter Set Rolle= @Data where " _
          & _
            "ID=1"
        mySQLCommand.Parameters.AddWithValue("@Data", Stream.ToArray)
        mySQLCommand.ExecuteNonQuery()
        Stream.Close()
        mySQLConnection.Close()
        MsgBox("OK")
Der Code zur Deserialiserung mit der Fehlermeldung:
mySQLConnection.Open()
        mySQLCommand.Connection = mySQLConnection
        mySQLCommand.CommandText = "Select Rolle from Mitarbeiter where ID=1"
        Dim dAdapter As New CoreLab.MySql.MySqlDataAdapter(mySQLCommand)
        Dim dTable As New System.Data.DataTable
        dAdapter.Fill(dTable)
        Dim dRow As System.Data.DataRow = dTable.Rows(0)
        Dim b As Byte() = CType(dRow("Rolle"), Byte())
 
        Dim Stream As New System.IO.MemoryStream(b)
        Stream.Seek(0, IO.SeekOrigin.Begin)
        Dim usr As New clsBenutzer
        Dim form As New Runtime.Serialization.Formatters.Binary.BinaryFormatter( _
          )
        ' HIER KOMMT DER FEHLER!
        usr = form.Deserialize(Stream)
        MsgBox("OK")
        mySQLConnection.Close()
alle Nachrichten anzeigenGesamtübersicht  |  Zum Thema  |  Suchen

 ThemaViews  AutorDatum
Serialisierung & Deserialisierung2.789Zero-G.08.08.07 09:32
Re: Serialisierung & Deserialisierung1.775Visual Basic Fan08.08.07 14:01
Re: Serialisierung & Deserialisierung1.693Zero-G.08.08.07 14:17
Re: Serialisierung & Deserialisierung1.749Zero-G.08.08.07 15:05
Re: Serialisierung & Deserialisierung1.776Zero-G.08.08.07 15:20
Re: Serialisierung & Deserialisierung1.701Zero-G.08.08.07 16:10

Sie sind nicht angemeldet!
Um auf diesen Beitrag zu antworten oder neue Beiträge schreiben zu können, müssen Sie sich zunächst anmelden.

Einloggen  |  Neu registrieren

Funktionen:  Zum Thema  |  GesamtübersichtSuchen 

nach obenzurück
 
   

Copyright ©2000-2025 vb@rchiv Dieter Otter
Alle Rechte vorbehalten.
Microsoft, Windows und Visual Basic sind entweder eingetragene Marken oder Marken der Microsoft Corporation in den USA und/oder anderen Ländern. Weitere auf dieser Homepage aufgeführten Produkt- und Firmennamen können geschützte Marken ihrer jeweiligen Inhaber sein.

Diese Seiten wurden optimiert für eine Bildschirmauflösung von mind. 1280x1024 Pixel