Probèmes codes sources pour accéder à une base de données access
Obama57
Messages postés1Date d'inscriptionmercredi 9 avril 2014StatutMembreDernière intervention 9 avril 2014
-
Modifié par jordane45 le 9/04/2014 à 11:32
jordane45
Messages postés38138Date d'inscriptionmercredi 22 octobre 2003StatutModérateurDernière intervention17 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,
A voir également:
Probèmes codes sources pour accéder à une base de données access
jordane45
Messages postés38138Date d'inscriptionmercredi 22 octobre 2003StatutModérateurDernière intervention17 avril 2024344 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)