Smemoratezze dal sottosuolo

Un blog che è uno spettacolo anche quando è offline

[VB6] Nientemeno che salvare un blob in un byte array :|

with 5 comments

Strano a dirsi, c’è ancora gente che usa Visual Basic 6; ancor più strano, non ho trovato in rete un modo furbo di mettere il contenuto di un blob in un array di byte. Il più furbo che ho trovato credo fosse salvarlo su file e poi leggere da file, ma del resto stiamo parlando appunto di sviluppatori Visual Basic (ammmòri :*).

Normalmente il metodo Read dell’oggetto ADODB.Stream restituisce una Variant (vade retro), ma non si offende se il risultato lo piazzate direttamente in un array di byte, quindi il sistema è presto trovato (unica difficoltà capire che lo stream va “riavvolto” e ricordarsi la sintassi per creare array in VB).

(lascio questo messaggio nella bottiglia se servisse ancora a qualcuno… anche se io per esempio cercavo direttamente termini inglesi e quindi non me lo troverei, questo post… direte voi, scrivilo in inglese… uff…)

[...]
Dim con As adodb.Connection
'a un certo punto la creo, la apro, eccetera, ma questo lo saprete
[...]

Dim rstblob_in As ADODB.Recordset

Dim dbstream As ADODB.Stream
Set dbstream = New ADODB.Stream
dbstream.Type = adTypeBinary
dbstream.Open

Set rstblob_in = New Recordset
rstblob_in.Open "select ILBLOB from TABELLA " _
                & "where ID='cippirimerlo'", con, adOpenStatic

Dim letto As Boolean
letto = False

If Not rstblob_in.EOF Then
        If rstblob_in("ILBLOB").ActualSize > 0 Then
            dbstream.Write rstblob_in("ILBLOB")
            letto = True
        End If
End If

If letto Then
        dbstream.Position = 0 'riavvolgo il nastro
        Dim ilblob() As Byte
        ilblob = dbstream.Read
        'e poi ne fate quel che volete
End If

Written by StM

March 6th, 2007 at 6:09 pm

Posted in how-tos

Tagged with

5 Responses to '[VB6] Nientemeno che salvare un blob in un byte array :|'

Subscribe to comments with RSS or TrackBack to '[VB6] Nientemeno che salvare un blob in un byte array :|'.

  1. Giuro che la sintassi per creare l’array in vibbì non me la scorderò mai, mai mai!

    :)

    emauff

    7 Mar 07 at 10:39

  2. Dunque questo post è servito a qualcosa :’)

    xD

    StM

    7 Mar 07 at 10:50

  3. O certo si si, eccome!
    Concordo su tutto.
    Con doppio scappellamento a destra.
    Perdindirindina!

    La Meringa

    7 Mar 07 at 13:54

  4. …ma sono finita sul pianeta Marte, per sbaglio?…visto che sono capitata qui posso intervistare qualcuno? :-)

    djlàmu

    7 Mar 07 at 15:35

  5. (un mio ex collega ti potrebbe dire che siamo sul pianeta Mercole, ahaha :| )

    (scherzo, una battuta così demente può venire in mente solo a me :| )

    StM

    7 Mar 07 at 15:42

Leave a Reply