Probèmes codes sources pour accéder à une base de données access

Obama57 Messages postés 1 Date d'inscription mercredi 9 avril 2014 Statut Membre Dernière intervention 9 avril 2014 - Modifié par jordane45 le 9/04/2014 à 11:32
jordane45 Messages postés 38138 Date d'inscription mercredi 22 octobre 2003 Statut Modérateur Dernière intervention 17 avril 2024 - 9 avril 2014 à 11:38
Bonjour tout le monde, C'est la première fois que je visite ce forum, et j'aime beaucoup ce que vous faites ici. Vous vous entraidez, et ça c'est très bien.

Alors, j'aimerais savoir si quelqu'un peut corriger le code de source de mon programme en vbnet. C'est un devoir superurgent, et je ne sais pas quoi faire, à part demander de l'aide.

Voila la situation:

Je dispose d'une base de donnée access (office 2007), avec une table nommé table1, qui possède 04 colonnes : nom, prenoms,photo.

nom : est de type texte

prenom : de type texte également

photo : de type pièce jointe.



Et mon devoir consiste seulement à lire les données de cette base, à l'aide d'une application windows vbnet.

Alors, j'ai utilisé vbnet à l'aide de sharpdevelopp 2.2 (l'unique logiciel que je dispose).

J'ai donc créé un formulaire composé de:

(à gauche) label1, où j'ai saisi dessus "Nom"

(à droite) textbox1, où le nom de l'étudiant dans la base access doit s'afficher.

(à gauche) label2, où j'ai saisi dessus "prénoms"

(à droite) textbox2, où le prenoms de l'individu dans la base access 2007 doit s'afficher.

(et sur le centre), label3, où j'ai saisi dessus "photos"

(et en dessus de ce label3), un Picturebox1, où la photo doit s'afficher.

et un Button1, où j'ai saisi dessus "suivant".

L'événement que doit provoquer ce bouton quand on clique dessus est simple:

"permettre d'avancer tout en affichant les informations concernant chaque étudiant"



Voici le code que j'ai effectué:


Imports System

Imports System.Data

Imports System.Data.OleDb

Imports Microsoft.VisualBasic

Public Partial Class MainForm

 'Déclaration d'un objet connection

 Private Myconnexion As OleDbConnection

 'Déclaration d'un objet Command

 Private Mycommand As OleDbCommand

 'Déclaration d'un objet DataReader

 Private MyReader As OleDbDataReader

 'Variable booléan pour tester la lecture du DataReader

 Private n As Boolean

 Public Sub New()

  ' The Me.InitializeComponent call is required for Windows Forms designer support.

  Me.InitializeComponent()

  

  '

  ' TODO : Add constructor code after InitializeComponents

  '

 End Sub

 

 Sub MainFormLoad(ByVal sender As Object, ByVal e As EventArgs)

  Myconnexion = New OleDbConnection ("Provider= Microsoft.Ace.Oledb.12.0; Data Source= E:\EXERCICES\Access\Picturebox.accdb")

  Myconnexion.Open

  Msgbox ("La connexion est établie avec succès, OK pour continuer")

  Mycommand = Myconnexion.CreateCommand()

  Mycommand.CommandText = "Select*from table1;"

  MyReader = Mycommand.ExecuteReader()

  n = MyReader.Read()

  If n Then

   Textbox1.Text= MyReader(0)

   Picturebox1.Image= MyReader(1)

   PictureBox1.SizeMode = PictureBoxSizeMode.StretchImage

  End If

 End Sub

 

 Sub Button1Click(ByVal sender As Object, ByVal e As EventArgs)

  If n Then

   Textbox1.Text= MyReader(0)

   Picturebox1.Image= MyReader(1)

   PictureBox1.SizeMode = PictureBoxSizeMode.StretchImage

  Else

  msgbox ("c'est le dernier enregistrement, ok pour fermer")

  MyReader.Close

  Myconnexion.Close

  Application.Exit

 End If

 End Sub

End Class



(Je ne sais pas s'il faut utiliser une fonction particulière pour Picturebox, pour que les photos dans la base access puisse s'afficher dessus, vu que c'est la première fois que je l'ai utilisé).

S'il quelqu'un sait comment faire, merci de m'écrire vos réponses. Vous me rendez vraiment un très grand service, et je vous remercie d'avance.

bien à vous tous,

2 réponses

jordane45 Messages postés 38138 Date d'inscription mercredi 22 octobre 2003 Statut Modérateur Dernière intervention 17 avril 2024 344
9 avril 2014 à 11:33
Bonjour,
Merci de bien vouloir utiliser la coloration syntaxique (les balises de code) lorsque tu postes du code sur le forum.
J'ai édité ton message pour les mettre.
Explications disponibles ici :
http://codes-sources.commentcamarche.net/faq/10686-le-nouveau-codes-sources-comment-ca-marche#balises-code
0
jordane45 Messages postés 38138 Date d'inscription mercredi 22 octobre 2003 Statut Modérateur Dernière intervention 17 avril 2024 344
9 avril 2014 à 11:38
Bonjour,

Pour charger une image depuis une BDD et la mettre dans un pictureBox, un code de ce genre devrait te permettre de le faire :

 cmd.CommandText = "select imagedate from projectimages where imagename = '" +      ListBox1.Text + "' and CSVprojectref=checksum('" + textboxFileRef.Text + "')"


        cmd.Connection = con
        Dim da As New SqlDataAdapter(cmd)
        Dim ds As New DataSet()
        da.Fill(ds, "projectimages")
        Dim c As Integer = ds.Tables(0).Rows.Count
        If c > 0 Then
            Dim bytBLOBData() As Byte = _
                ds.Tables(0).Rows(c - 1)("imagedate")
            Dim stmBLOBData As New MemoryStream(bytBLOBData)
            PictureBox1.Image = Image.FromStream(stmBLOBData)
        End If


Pour ce qui est du reste de ton code;.. je doute que les personnes du forum ne prenne le temps de te le "corriger".

Si il ne fonctionne pas comme tu le souhaites... tu dois nous
indiquer explicitement le souci rencontré ( messages d'erreur... anomalies du fonctionnement...).


Pour ce qui est du logiciel utilisé... tu peux aussi utiliser VisualStudio Express ( en téléchargement gratuit sur le site microsoft)

voilou.

Bonne Prog.


0
Rejoignez-nous