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 schwierig.
Speziell geht es mir um Daten vom Typ Byte() [vb] bzw. Bytea [postgresql].
Ohne Option Strict geht es so:
Falls jemand einen Vorschlag hat, der auch mit Strict funktioniert nehme ich auch diesen gerne an.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)
Ansonsten sollte ein Datareader helfen - auch(/vor allem) in Hinsicht auf den Speicherverbrauch - tut er aber nicht:
Primäres Problem scheint zu sein, dass die Daten in der DB unterschiedlich lang sind. Mal 8 Byte, mal 100 Byte, etc. . Bei der Längenfeststellung kommt jedoch immer derselbe Wert (der längste?) heraus.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 erzeugen Dim buf(I - 1) As Byte 'lesen reader.GetBytes(0, 0, buf, 0, I) End While reader.Close
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?
Oder mache ich hier vielleicht etwas total falsch?
MfG calvin
Links: Tobias Bauer - IT- und Funkdienstleistungen - Bilderrahmen-kaufen.de - Der Onlineshop für Bilderrahmen & Fotorahmen - Funkforum
Lesezeichen