Image dans db champ ole - ado

Soyez le premier à donner votre avis sur cette source.

Snippet vu 9 059 fois - Téléchargée 27 fois

Contenu du snippet

Sur demande, voici un morceau de code pour ajouter une image dans une champ OLE.
La base est ouverte avec ADO (je passe ce détail), et le champ OLE est créé manuellement par Access 2000 ou par ADOX (cf mon autre code).On ne peut pas utiliser une requête SQL toute bête, on doit passer par ce qui suit :

Source / Exemple :


Dim bytData() As Byte
    
        frmOpenDlg.dlgOpenFile.FontSize = 10
        frmOpenDlg.dlgOpenFile.FilterIndex = 1
        frmOpenDlg.dlgOpenFile.Filter = "Fichiers images (*.jpg, *.gif)|*.jpg;*.gif"
        frmOpenDlg.dlgOpenFile.DialogTitle = "Sélectionnez une image"
        frmOpenDlg.dlgOpenFile.ShowOpen
        
        If (frmOpenDlg.dlgOpenFile.fileName <> "") Then
            picPath = frmOpenDlg.dlgOpenFile.fileName
            imgPaysL.Picture = LoadPicture(picPath)
        End If

        Open picPath For Binary As #1
        ReDim bytData(FileLen(picPath))
        'Read the data and close the file
        Get #1, , bytData
        Close #1

        With RS
          .Update
          .Fields("Nationalite") = txtNom.Text
          .Fields("Image").AppendChunk bytData
          .Update
        End With

Conclusion :


Ce n'est qu'un morceau de code : pas de déclaration (sauf pour une qui a posé problème pour un visiteur ;-).

A voir également

Ajouter un commentaire

Commentaires

pointbin
Messages postés
71
Date d'inscription
lundi 5 janvier 2004
Statut
Membre
Dernière intervention
13 mai 2010
-
Merci pour votre aide,
en fait même cet source me renvoi la meme erreur.
Merci en tout cas.
sonoboss
Messages postés
178
Date d'inscription
lundi 17 juin 2002
Statut
Membre
Dernière intervention
2 octobre 2007
-
je ne sais pas trop en fait car je n'ai jamais utilisé ce source o final...

regarde peut être a ce niveau : http://www.vbfrance.com/code.aspx?ID=1566 mais je ne te promet rien...
pointbin
Messages postés
71
Date d'inscription
lundi 5 janvier 2004
Statut
Membre
Dernière intervention
13 mai 2010
-
Pardon, mais ça n'a pas marcher le brobleme persiste car j'ai mis avant RS on error resume next et je l'ai oublier.
S'il vous plait comment puige faire un exemple simple utilisant votre source,
je suis debutant en VB et on nous a demande de chercher comment inserer une image
dans une DB.
J'ai fais une BD access ("Images.mbd") et une table "ImgTest", j'ai dedant 2 champ (Nationalite et image)
et j'ai fait 2 enregistrement, puis j'ai utiliser votre code pour inserer
d'autre enregistrement mais j'ai cet erreur (Cette classe ne gère pas Automation ou l'interface attendu )
j'ai ajouter seulement ça au code :

dim RS As New ADODB.Recordset
dim db As ADODB.Connection
Set db = New ADODB.Connection
db.Open "Provider=Microsoft.Jet.OLEDB.4.0;Persist Security Info=False;Data Source=" & App.Path & "\Images.mdb"


et j'ai mis dans la form un controle textbox,un controle image
et un controle commondialog avec name comme dans la source.

s'il vous plait aider moi,que faire et s'il ya erreur laquelle.

Merci.
sonoboss
Messages postés
178
Date d'inscription
lundi 17 juin 2002
Statut
Membre
Dernière intervention
2 octobre 2007
-
De nada ;-)
pointbin
Messages postés
71
Date d'inscription
lundi 5 janvier 2004
Statut
Membre
Dernière intervention
13 mai 2010
-
c'etait Microsoft ActiveX Data Object 2.5 qui n'a pas marcher mais avec Microsoft ActiveX Data Object 2.1 tout est bien.

Merci

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.