Création
d'entreprise
Posez votre question Signaler

ADO.NET & SQL SERVER mode déconnecté

karima Casa 41Messages postés 22 février 2009Date d'inscription 16 janvier 2011Dernière intervention - Dernière réponse le 27 juin 2011 à 17:20
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.
Lire la suite 

ADO.NET & SQL SERVER mode déconnecté »

12 réponses
Réponse
+0
moins plus
je ne savais pas que mes questions n'ont meme une reponse.
ahmed tunis - 11 mai 2011 à 19:21
cc stp
pourquoi on utilise le mode deconnexion dans ADO.net ?
zakaria - 27 juin 2011 à 17:20
Pour facilité le travaille
Ajouter un commentaire
Réponse
+0
moins plus
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 !
Ajouter un commentaire
Réponse
+0
moins plus
Grand merci
Ajouter un commentaire
Réponse
+0
moins plus
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")
Ajouter un commentaire
Réponse
+0
moins plus
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
Ajouter un commentaire
Réponse
+0
moins plus
Bonjour,

vous pouviez nous montrez votre code ?
Ajouter un commentaire
Réponse
+0
moins plus
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
Ajouter un commentaire
Réponse
+0
moins plus
bonjour,

pour la chaine de .connection je vous conseiller de voire ici http://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
Ajouter un commentaire
Réponse
+0
moins plus
Vraiment merci infiniment meme si que je n'ai pas compris quelques methodes mais je vais les chercher merci
Ajouter un commentaire
Réponse
+0
moins plus
de rien ^_^
Ajouter un commentaire
Ce document intitulé « ADO.NET & SQL SERVER mode déconnecté » issu de CommentCaMarche (www.commentcamarche.net) est mis à disposition sous les termes de la licence Creative Commons. Vous pouvez copier, modifier des copies de cette page, dans les conditions fixées par la licence, tant que cette note apparaît clairement.
Dossier à la une
Passage au tout numérique : quel coût pour les particuliers ?