ADO.NET & SQL SERVER mode déconnecté

Fermé
karima Casa Messages postés 33 Date d'inscription dimanche 22 février 2009 Statut Membre Dernière intervention 16 juillet 2014 - 22 nov. 2009 à 13:50
 Taha de kech - 10 févr. 2014 à 17:05
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.
A voir également:

11 réponses

karima Casa Messages postés 33 Date d'inscription dimanche 22 février 2009 Statut Membre Dernière intervention 16 juillet 2014 7
2 déc. 2009 à 10:52
je ne savais pas que mes questions n'ont meme une reponse.
0
ahmed tunis
11 mai 2011 à 19:21
cc stp
pourquoi on utilise le mode deconnexion dans ADO.net ?
0
Taha de kech > ahmed tunis
10 févr. 2014 à 17:05
Pour ne pas faire ocupe le serveur tout le temps
0
Pour facilité le travaille
0
foxtrot01 Messages postés 26 Date d'inscription jeudi 24 décembre 2009 Statut Membre Dernière intervention 11 mars 2010
5 janv. 2010 à 13:18
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
karima Casa Messages postés 33 Date d'inscription dimanche 22 février 2009 Statut Membre Dernière intervention 16 juillet 2014 7
19 janv. 2010 à 13:32
Grand merci
0
holow1 Messages postés 680 Date d'inscription lundi 21 décembre 2009 Statut Membre Dernière intervention 7 décembre 2012 71
19 janv. 2010 à 21:41
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

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
karima Casa Messages postés 33 Date d'inscription dimanche 22 février 2009 Statut Membre Dernière intervention 16 juillet 2014 7
30 janv. 2010 à 15:49
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
holow1 Messages postés 680 Date d'inscription lundi 21 décembre 2009 Statut Membre Dernière intervention 7 décembre 2012 71
30 janv. 2010 à 21:27
Bonjour,

vous pouviez nous montrez votre code ?
0
karima Casa Messages postés 33 Date d'inscription dimanche 22 février 2009 Statut Membre Dernière intervention 16 juillet 2014 7
Modifié par pijaku le 13/12/2013 à 12:14
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
holow1 Messages postés 680 Date d'inscription lundi 21 décembre 2009 Statut Membre Dernière intervention 7 décembre 2012 71
31 janv. 2010 à 15:53
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
karima Casa Messages postés 33 Date d'inscription dimanche 22 février 2009 Statut Membre Dernière intervention 16 juillet 2014 7
31 janv. 2010 à 20:35
Vraiment merci infiniment meme si que je n'ai pas compris quelques methodes mais je vais les chercher merci
0
holow1 Messages postés 680 Date d'inscription lundi 21 décembre 2009 Statut Membre Dernière intervention 7 décembre 2012 71
31 janv. 2010 à 21:19
de rien ^_^
0
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