PostgreSQL und Byte() lesen

calvin65

Mitglied
Hallo,

ich versuche jetzt seit einiger Zeit Daten aus PostgreSQL zu lesen (mit VB.net). An sich geht das gut, aber mit Aktivierung von "Option Strict On" wirds teilweise schwierig.

Speziell geht es mir um Daten vom Typ Byte() bzw. Bytea

Ohne Option Strict geht es so:
Code:
Dim ds As New DataSet
Dim da As New NpgsqlDataAdapter(cmd)
da.Fill(ds)
Dim buf As Byte() = Nothing
buf = ds.Tables(0).Rows(0).Item(0)
Falls jemand einen Vorschlag hat, der auch mit Strict funktioniert nehme ich diesen sehr gerne an.


Ansonsten sollte ein Datareader helfen, tut er aber nicht:
Code:
Dim I as Int32=0
While reader.Read
   'feststellen wie lang die Daten sind
   I = reader.GetBytes(0, 0, Nothing, 0, Int32.MaxValue)
   'passenden Puffer verbaren
   Dim buf(I - 1) As Byte
   'lesen
   reader.GetBytes(0, 0, buf, 0, I)
End While
reader.Close
Primäres Problem scheint zu sein, dass die Daten unterschiedlich lang sind. Mal 8 Byte, mal 100 Byte, etc.
Bei der Längenfeststellung kommt jedoch immer derselbe Wert (der längste?) heraus. Gibt es da eine andere Möglichkeit die Länge festzustellen und damit passend den Puffer zum Auslesen zu erstellen und natürlich auch zu lesen?
 

Neue Beiträge

Zurück