IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

VB.NET Discussion :

Base de donnees a picturebox


Sujet :

VB.NET

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Inscrit en
    Mars 2009
    Messages
    13
    Détails du profil
    Informations forums :
    Inscription : Mars 2009
    Messages : 13
    Par défaut Base de donnees a picturebox
    Bonjour a tous.
    J'ai un probleme, j'arrive pas a recuperer la photo que j'ai mis dans ma base de donnees.
    Pour ce j'ai besoin d'aide. Je ou mets le code entier.


    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    'Imports System.Data
    Imports MySql.Data
    'Imports System.Data.SqlClient
    Imports MySql.Data.MySqlClient
    Imports System.IO
    Imports System.Drawing.Imaging.ImageFormat
    Imports MySql.Data.MySqlClient.MySqlDataReader
     
    Public Class Form1
        Dim strCn As String = "server=localhost;" & _
                "Database=test;password= ;User Id=root"
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
     Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
            Dim cn As New MySqlConnection(strCn)
            Dim cmd As New MySqlCommand("INSERT INTO blobcenter (blobPict) " & _
                "VALUES (@blobPict)", cn)
            Dim strBLOBFilePath As String = _
                "C:\Users\MICHEL\Desktop\photoCellInfo\image.jpg"
            Dim fsBLOBFile As New FileStream(strBLOBFilePath, _
                FileMode.Open, FileAccess.Read)
            Dim bytBLOBData(fsBLOBFile.Length() - 1) As Byte
            fsBLOBFile.Read(bytBLOBData, 0, bytBLOBData.Length)
            fsBLOBFile.Close()
            Dim prm As New MySqlParameter("@blobPict", MySqlDbType.VarBinary, _
                bytBLOBData.Length, ParameterDirection.Input, False, _
                0, 0, Nothing, DataRowVersion.Current, bytBLOBData)
            cmd.Parameters.Add(prm)
            cn.Open()
            cmd.ExecuteNonQuery()
            cn.Close()
        End Sub
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
     Private Sub Button2_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button2.Click
            'Dim cn As New MySqlConnection(strCn)
            'Dim cmd As New MySqlCommand("SELECT blobId, " & _
            '    "blobPict FROM blobcenter ORDER BY blobId", cn)
            'Dim da As New MySqlDataAdapter(cmd)
            'Dim ds As New DataSet()
            'da.Fill(ds, "blobcenter")
            'Dim c As Integer = ds.Tables("blobcenter").Rows.Count
            'If c > 0 Then
            'Dim bytBLOBData() As Byte = _
            'ds.Tables("blobcenter").Rows(c - 1)("blobPict")
            'Dim stmBLOBData As New MemoryStream(bytBLOBData)
            'PictBlob.Image = Image.FromStream(stmBLOBData) ////(probleme ici)
            'End If
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
     'DataReader
            Dim cn As New MySqlConnection(strCn)
            Dim cmd As New MySqlCommand("SELECT blobId, " & _
                "blobPict FROM blobcenter ORDER BY blobId", cn)
            Dim dr As MySqlDataReader
            cn.Open()
            dr = cmd.ExecuteReader(CommandBehavior.CloseConnection)
            If dr.Read Then
                Dim bytBLOBData(dr.GetBytes(1, 0, Nothing, 0, Integer.MaxValue) - 1) As Byte
                dr.GetBytes(1, 0, bytBLOBData, 0, bytBLOBData.Length)
                Dim stmBLOBData As New MemoryStream(bytBLOBData)
                PictBlob.Image = Image.FromStream(stmBLOBData)  ////(probleme ici)
            End If
            dr.Close()
        End Sub
    End Class

    Ca me dit le paramètre n'est pas valide!!!

  2. #2
    Membre averti
    Inscrit en
    Mars 2009
    Messages
    13
    Détails du profil
    Informations forums :
    Inscription : Mars 2009
    Messages : 13
    Par défaut La photo ne s'affiche pas
    Je'ai pris l'exemple de quelqu'un jusque la ca ne fonctionne pas chez moi.
    Ca enregistre bien mais ca n'affiche pas la photo seulement un truc gris!

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    Imports MySql.Data.MySqlClient
    Imports System.Data.DataSet
    Imports System.IO
     
    Public Class Form1
        Private conn As New MySqlConnection
        Private da As New MySqlDataAdapter("select * from employe", conn)
        Private dt As New DataSet
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
     Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
            Try
                conn.ConnectionString = "server=localhost; user id=root; password= ; database=123456"
                conn.Open()
                da.Fill(dt, "employe")
                Dim table As DataTable
                table = dt.Tables("employe")
                DataGridView1.DataSource = table
                tb_nom.Focus()
                conn.Close()
            Catch ex As Exception
                MsgBox(ex.Message)
            End Try
        End Sub
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
     Private Sub Button2_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button2.Click
            tb_nom.Text = Nothing
            tb_prenom.Text = Nothing
            cb_1.Text = Nothing
            cb_2.Text = Nothing
            DateTimePicker1.Value = Date.Now
            PictureBox1.Image = PictureBox1.BackgroundImage
        End Sub
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
     Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
            Me.OpenFileDialog1.FileName = Nothing
            Me.OpenFileDialog1.ShowDialog()
     
            If Not Me.OpenFileDialog1.FileName = Nothing Then
                Me.PictureBox1.ImageLocation = Me.OpenFileDialog1.FileName
            End If
        End Sub
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
     Public Function ConvertToData(ByVal myImage As Image) As Byte()
            Dim ms As New MemoryStream()
            Try
                myImage.Save(ms, System.Drawing.Imaging.ImageFormat.Jpeg)
            Catch ex As Exception
                MsgBox(ex.Message)
            End Try
            Dim myBytes(ms.Length - 1) As Byte
            ms.Position = 0
            ms.Read(myBytes, 0, ms.Length)
            Return myBytes
        End Function
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     'Convertir bytes en image
        Public Function ConvertToImage(ByVal data() As Byte) As Image
            Dim stream As New MemoryStream(data)
            Return Image.FromStream(stream)
        End Function
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
     Private Sub Button3_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button3.Click
     
            If tb_nom.Text = Nothing Then
                MsgBox("Vous devez remplir le nom!", MsgBoxStyle.Exclamation, "Verification")
            End If
            If tb_prenom.Text = Nothing Then
                MsgBox("Vous devez remplir le prenom!", MsgBoxStyle.Exclamation, "Verification")
            End If
            If cb_1.Text = Nothing Then
                MsgBox("Vous devez remplir le sexe!", MsgBoxStyle.Exclamation, "Verification")
            End If
            If cb_2.Text = Nothing Then
                MsgBox("Vous devez remplir le statut!", MsgBoxStyle.Exclamation, "Verification")
            End If
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
     'connection
            conn.Open()
            Dim ligne As DataRow
            ligne = dt.Tables("employe").NewRow
            'Affectation
            ligne(1) = UCase(tb_nom.Text)
            ligne(2) = UCase(tb_prenom.Text)
            ligne(3) = UCase(cb_1.Text)
            ligne(4) = DateTimePicker1.Value
            ligne(5) = UCase(cb_2.Text)
            ligne(6) = ConvertToData(PictureBox1.Image)
            'Ajout
            dt.Tables("employe").Rows.Add(ligne)
            Dim cmdBuilder As MySqlCommandBuilder
            cmdBuilder = New MySqlCommandBuilder(da)
            da.InsertCommand = cmdBuilder.GetInsertCommand
            da.Update(dt, "employe")
            MsgBox("L'utilisateur a ete ajoute avec succes", MsgBoxStyle.Information, "Succes")
            conn.Close()
        End Sub
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     Private Sub Button6_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button6.Click
            Me.Close()
        End Sub
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
     Private Sub DataGridView1_CellClick(ByVal sender As Object, ByVal e As System.Windows.Forms.DataGridViewCellEventArgs) Handles DataGridView1.CellClick
            Dim ligneEnCours As Integer
            ligneEnCours = DataGridView1.CurrentRow.Index
            tb_nom.Text = DataGridView1.Item(1, ligneEnCours).Value
            tb_prenom.Text = DataGridView1.Item(2, ligneEnCours).Value
            cb_1.Text = DataGridView1.Item(3, ligneEnCours).Value
            cb_2.Text = DataGridView1.Item(5, ligneEnCours).Value
            DateTimePicker1.Value = DataGridView1.Item(4, ligneEnCours).Value
            PictureBox1.Image = ConvertToImage(DataGridView1.Item(6, ligneEnCours).Value)
        End Sub
    End Class
    Que dois je faire s'il vous plait?

Discussions similaires

  1. taille maximale d'une base de donnée paradox
    Par Anonymous dans le forum Paradox
    Réponses: 5
    Dernier message: 14/02/2004, 17h39
  2. Proprietes du fichier de base de donnees
    Par Mouse dans le forum MS SQL Server
    Réponses: 2
    Dernier message: 26/03/2003, 15h14
  3. [sgbd] Accès au base de données en Perl
    Par totox17 dans le forum SGBD
    Réponses: 3
    Dernier message: 24/02/2003, 16h05
  4. [VB6] [Access] Compacter une base de donnée
    Par mdoyer dans le forum VB 6 et antérieur
    Réponses: 11
    Dernier message: 24/09/2002, 11h33
  5. [VB6] [ODBC] Référencer une base de données avec vb
    Par af.balog dans le forum VB 6 et antérieur
    Réponses: 6
    Dernier message: 13/09/2002, 09h51

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo