ADO.NET & SQL SERVER mode déconnecté

Fermé
karima Casa Messages postés 41 Statut Membre -  
 Taha de kech -
Bonjour,
j'ai une petite application dans laquelle je travail avec ADO.net en mode déconnecté pour se connecter avec une base de données en SQL SERVER , le problème c'est que une table dans la base de données contient un champs de type image alors lorsque je remplis le dataset avec cette table , et le contenu du dataset je l'ai mis dans une datagridview , mais l'image ne s'affiche plus est ce qu'il y'a moyen pour résoudre ce problème , comment convertir l'image au type bitmap et vise versa.
s'il vous plait n'hésitez pas à m'aider je ne suis pas professionnelle en programmation.
Configuration: Windows XP
Safari 525.13

11 réponses

  1. karima Casa Messages postés 41 Statut Membre 7
     
    je ne savais pas que mes questions n'ont meme une reponse.
    0
    1. ahmed tunis
       
      cc stp
      pourquoi on utilise le mode deconnexion dans ADO.net ?
      0
      1. Taha de kech > ahmed tunis
         
        Pour ne pas faire ocupe le serveur tout le temps
        0
    2. zakaria
       
      Pour facilité le travaille
      0
  2. foxtrot01 Messages postés 30 Statut Membre
     
    tu px ajouté une picture box ds votre form é modifier le type du champ ds la base de donné en varchar puis copier le dossier des image ds le bin de lapplication
    cela peut aider a avoir ce ke tu vx je pense !
    0
  3. karima Casa Messages postés 41 Statut Membre 7
     
    Grand merci
    0
  4. holow1 Messages postés 739 Statut Membre 71
     
    bonjour,

    voici le code pour stocker une image dans une base de donne

    mais il faut le champs de table soit Image

     Dim con As New SqlConnection("Initial catalog=tp;data source=localhost;Integrated security=true")
            Dim da As New SqlDataAdapter ("Select id,com,img From tbimage", con)
            Dim MyCB As SqlCommandBuilder = New SqlCommandBuilder(da)
            Dim ds As New DataSet()
    
            da.MissingSchemaAction = MissingSchemaAction.AddWithKey
    
            Dim fs As New FileStream (txtimg.Text, FileMode.OpenOrCreate,  FileAccess.Read)
            Dim MyData(fs.Length) As Byte
            fs.Read(MyData, 0, fs.Length)
            fs.Close()
            con.Open()
            da.Fill(ds, "tbimage")
            Dim myRow As DataRow
            myRow = ds.Tables("tbimage").NewRow()
    
            myRow("id") = txtid.Text
            myRow("com") = txtcom.Text
            myRow("img") = MyData
            ds.Tables("tbimage").Rows.Add(myRow)
            da.Update(ds, "tbimage")
    
            fs = Nothing
            MyCB = Nothing
            ds = Nothing
            da = Nothing
    
            con.Close()
            con = Nothing
            MsgBox("Image bine Enregester")
    
            '--
        End Sub
    


    pour l'affichage dans datgridview c'est normal

    dg.datasource=ds.table("NomTable")
    0
  5. Vous n’avez pas trouvé la réponse que vous recherchez ?

    Posez votre question
  6. karima Casa Messages postés 41 Statut Membre 7
     
    Merci pour ta réponse mais moi j'arrive à connecter la base de données j'ai un problème de conversion d'image lors de l'affichage en datagridview mais quand meme un grand merci
    0
  7. holow1 Messages postés 739 Statut Membre 71
     
    Bonjour,

    vous pouviez nous montrez votre code ?
    0
  8. karima Casa Messages postés 41 Statut Membre 7
     
    Oui bien sûr mais vous savez ça fait plus que 2 mois que je n'ai pas jeté un coup d'oeil sur cette application. en bref mon problème que c'est au niveau des bouttons de navigations je n'arrive pas à afficher l'image stoquée dans la base de données et lorsque j'ajoute par exemple une personne avec son image je n'arrive pas à stoquer son image dans la base de données.bon voilà le code je me suis inspirée d'un cours.
    Au nivea du load(j'arrive à etablir la connexion)
    dbpf = DbProviderFactories.GetFactory("System.Data.SqlClient")
    ocon = dbpf.CreateConnection
    ocon.ConnectionString = "Server=ELBAHI-ED56503A\SQLEXPRESS;database=personnes;integrated security=true"
    oda = dbpf.CreateDataAdapter
    oda.SelectCommand = ocon.CreateCommand
    oda.SelectCommand.CommandText = "select * from pers"
    ods = New DataSet
    oda.Fill(ods, "pers")

    Private Sub enregistrer_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles enregistrer.Click

    If n = 1 Then
    'Cas d'ajout
    Dim dlg As OpenFileDialog = New OpenFileDialog()
    dlg.Filter = "All Pictures|*.bmp;*.gif;*.jpg|Bitmaps|*.bmp|GIFs|*.gif|JPEGs|*.jpg"
    Dim dr As DataRow = ods.Tables("pers").NewRow
    dr("id") = TxtID.Text
    dr("nom") = TxtNom.Text
    dr("prénom") = TxtPrenom.Text
    TxtdateNaissance.Text = DateTimePicker1.Text
    dr("dateNaissance") = TxtdateNaissance.Text

    'If (dlg.ShowDialog = DialogResult.OK) Then

    ' PictureBox1.Image = New Bitmap(dlg.FileName)
    ' Dim name As String = dlg.FileName.Substring(dlg.FileName.LastIndexOf("\") + 1, dlg.FileName.Length - dlg.FileName.LastIndexOf("\") - 1)
    'End If

    'Dim mstr As MemoryStream = New MemoryStream
    'PictureBox1.Image.Save(mstr, PictureBox1.Image.RawFormat)
    'Dim arrImage() As Byte = mstr.GetBuffer()
    'dim cmd as string = "insert into pers (PictureName, Picture) values (@PName, @Pic)";

    'dr("picture") = PictureBox1
    ods.Tables("pers").Rows.Add(dr)
    'ods.AcceptChanges()
    nbrLignes = ods.Tables("pers").Rows.Count
    MsgBox("Lenombre des lignes après l'ajout : " & nbrLignes)
    MsgBox("L'ajout est effectué !!")
    ElseIf n = 2 Then
    Dim r = MessageBox.Show("êtes vous sûr de vouloir supprimer cette personne??", "Confirmation suppression", MessageBoxButtons.YesNo, MessageBoxIcon.Information)
    If r = vbYes Then
    ods.Tables("pers").Rows(i).Delete()
    MsgBox("Suppression effectué")
    Else
    MsgBox("Suppression annulée")
    End If
    ElseIf n = 3 Then
    Dim rep = MessageBox.Show("êtes vous sûr de vouloir modifier cette personne??", "Confirmation de modification", MessageBoxButtons.YesNo, MessageBoxIcon.Question)
    If rep = vbYes Then
    ods.Tables("pers").Rows(i)(0) = TxtID.Text
    ods.Tables("pers").Rows(i)(1) = TxtNom.Text()
    ods.Tables("pers").Rows(i)(2) = TxtPrenom.Text
    ods.Tables("pers").Rows(i)(3) = TxtdateNaissance.Text

    Else
    MsgBox("Modification annulée")

    End If
    Dim cas As String = ods.Tables("pers").Rows(i).RowState.ToString
    MsgBox(cas)
    End If
    End Sub
    Maintenant j'espère que j'ai bien expliqué la situation donc oubliez mon code car je suis sûr qu'il ne marche pas vous pourriez me donnez un code tout à fait différent qui correspond le cas dont je t'ai expliqué merci d'avance. j'ai copié ton code pour l'essayer plus tard merciiiiiiiiiiiiiiiiiiiiiiiiiiii
    0
  9. holow1 Messages postés 739 Statut Membre 71
     
    bonjour,

    pour la chaine de .connection je vous conseiller de voire ici https://www.connectionstrings.com/sql-server-2005/

    et pour l'ajout de l'image de la BD je crois il y a un error

    Dim con As New SqlConnection("Initial catalog=tp;data source=localhost;Integrated security=true")
            Dim da As New SqlDataAdapter ("Select id,com,img From tbimage", con)
            Dim MyCB As SqlCommandBuilder = New SqlCommandBuilder(da)
            Dim ds As New DataSet()
    
            da.MissingSchemaAction = MissingSchemaAction.AddWithKey
    
            Dim fs As New FileStream (txtimg.Text, FileMode.OpenOrCreate,  FileAccess.Read)
            Dim MyData(fs.Length) As Byte
            fs.Read(MyData, 0, fs.Length)
            fs.Close()
            con.Open()
            da.Fill(ds, "tbimage")
            Dim myRow As DataRow
            myRow = ds.Tables("tbimage").NewRow()
    
            myRow("id") = txtid.Text
            myRow("com") = txtcom.Text
            myRow("img") = MyData
            ds.Tables("tbimage").Rows.Add(myRow)
            da.Update(ds, "tbimage")
    
            fs = Nothing
            MyCB = Nothing
            ds = Nothing
            da = Nothing
    
            con.Close()
            con = Nothing
            MsgBox("Image bine Enregester")
    
            '--
        End Sub


    et concernant le déplacement entrent les enregistrements moi aussi j'ai le même problème Oo
    0
  10. karima Casa Messages postés 41 Statut Membre 7
     
    Vraiment merci infiniment meme si que je n'ai pas compris quelques methodes mais je vais les chercher merci
    0
  11. devtodev
     
    pourquoi remplir une base de données avec des images qui chargera notre base et augmentera le temps de réponse.
    je vous propose une solution :
    1- Copié l'image dans un disque dur
    2- Ajouter dans la table image un champs liens qui sera le lien de l'image

    et dans un picturbox vous charger juste l'adresse de l'image à la place de faire une conversion d'image
    0