Comment inserer des données dans un dataset ?

Alexia178 Messages postés 16 Date d'inscription lundi 7 juillet 2008 Statut Membre Dernière intervention 10 juillet 2008 - 7 juil. 2008 à 12:15
gillardg Messages postés 3275 Date d'inscription jeudi 3 avril 2008 Statut Membre Dernière intervention 14 septembre 2014 - 7 juil. 2008 à 16:56
Bonjour,

Actuellement je developpe une petite application sous VB express Edition avec une connexion avec une base de données SQL Server Express Edition.

Or vu que je suis une utilisatrice novice de VB, je ne sais pas comment inserer des données qui se trouvent dans un formulaire, dans une table de la base de données réprésentée par la dataset ?

Pourriez vous m'aider ???

Merci par avance de vos réponses !

Cordialement

22 réponses

Alexia178 Messages postés 16 Date d'inscription lundi 7 juillet 2008 Statut Membre Dernière intervention 10 juillet 2008
7 juil. 2008 à 13:07
J'ai crée dans "CandidatTableAdaptater" une requete d'insertion "InsertQuery" mais comment s'en servir dans un formulaire ???
0
gillardg Messages postés 3275 Date d'inscription jeudi 3 avril 2008 Statut Membre Dernière intervention 14 septembre 2014 2
7 juil. 2008 à 14:03
par drag and drop
0
Alexia178 Messages postés 16 Date d'inscription lundi 7 juillet 2008 Statut Membre Dernière intervention 10 juillet 2008
7 juil. 2008 à 14:10
Comment ça ?

Car j'ai deja essayé et ça me met un truc du genre :
Microsoft.VSDesigner.DataSource.Control.TableRowData    InsertQuery (.......

Et Microsoft.VSDesigner et InsertQuery pose probleme :(
0
gillardg Messages postés 3275 Date d'inscription jeudi 3 avril 2008 Statut Membre Dernière intervention 14 septembre 2014 2
7 juil. 2008 à 14:16
dans la fenètre DatSources,
tu as ton dataSet, 'TestDataSet' pour l'exemple
c'est un Treeview avec des Child
chacun des Child est un objet que tu peux poser sur ta feuille


si tu veux une copie écran je te l'envoie par @mail
0

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

Posez votre question
Alexia178 Messages postés 16 Date d'inscription lundi 7 juillet 2008 Statut Membre Dernière intervention 10 juillet 2008
7 juil. 2008 à 14:27
Ok je viens de voir

Mais ça me donne comme commande :
"Me.CandidatTableAdapter.Fill(Me.TestDataSet.Candidat)"

Or si je veux que toutes les informations saisies dans différents box (nom, prenom, etc ...) s'insere dans la table une fois qu'on appuie sur un bouton de validation,
comment je dois modifier la commande précédente ?
0
Alexia178 Messages postés 16 Date d'inscription lundi 7 juillet 2008 Statut Membre Dernière intervention 10 juillet 2008
7 juil. 2008 à 14:35
Donc ça ne sers a rien de créer une requête InsertQuery (car elle n'apparait pas dans l'arborescent de la source de données) ???
0
gillardg Messages postés 3275 Date d'inscription jeudi 3 avril 2008 Statut Membre Dernière intervention 14 septembre 2014 2
7 juil. 2008 à 14:47
Private





Sub

Button1_Click(


ByVal

sender


As

System.Object,


ByVal

e


As

System.EventArgs)


Handles

Button1.Click



Me

.ContactsTableAdapter.Fill(


Me

.TestDataSet.contacts)



End





Sub
0
Alexia178 Messages postés 16 Date d'inscription lundi 7 juillet 2008 Statut Membre Dernière intervention 10 juillet 2008
7 juil. 2008 à 14:58
:( Ca marche pas :(

Car il ne l'ajoute pas dans la base de données
0
gillardg Messages postés 3275 Date d'inscription jeudi 3 avril 2008 Statut Membre Dernière intervention 14 septembre 2014 2
7 juil. 2008 à 15:01
Me

.Validate()



Me

.ContactsBindingSource.EndEdit()



Me

.ContactsTableAdapter.Update(


Me

.TestDataSet.contacts)
0
Alexia178 Messages postés 16 Date d'inscription lundi 7 juillet 2008 Statut Membre Dernière intervention 10 juillet 2008
7 juil. 2008 à 15:03
Voila mon code :
"
Public Class AjoutCandidat

    Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click

        If Nom.Text <> Nothing And Prenom.Text <> Nothing And Telephone.Text <> Nothing And Email.Text <> Nothing And Suivi.Text <> Nothing Then
            Dim chaine As String
            chaine = Suivi.SelectedItem

            MsgBox("Candidat ajoutée " + Prenom.Text + " " + Nom.Text + " avec comme suivi : " + chaine)
            Me.Close()
        Else
            MsgBox("Vérifier que toutes les informations sont rentrées")
        End If
    End Sub

    Private Sub Button2_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button2.Click
        Me.Close()
        'Annulation
    End Sub

    Private Sub Button3_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button3.Click
        Dim id As Integer
        id = 3
        Me.CandidatTableAdapter.Fill(Me.MaquetteDataSet.Candidat)
        id = id + 1
    End Sub
End Class
"
et la table candidat contient les champs suivant (id, prénom, nom, Téléphone, Email, Compétence, Date, Suivi, Commentaires)

Et je voudrais que une fois qu'on appuye sur le bouton, hop ça rentre les données saisies dans Nom.Text, Prenom.Text, ... dans la table Candidat !
0
gillardg Messages postés 3275 Date d'inscription jeudi 3 avril 2008 Statut Membre Dernière intervention 14 septembre 2014 2
7 juil. 2008 à 15:18
Me

..CandidatTableAdapter.Update( Me.MaquetteDataSet.Candidat)
0
Alexia178 Messages postés 16 Date d'inscription lundi 7 juillet 2008 Statut Membre Dernière intervention 10 juillet 2008
7 juil. 2008 à 15:27
"Private Sub Button3_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button3.Click
        Dim id As Integer

        id = 2
        Me.CandidatTableAdapter.InsertQuery(id + 1, Prenom.Text, Nom.Text, Telephone.Text, Email.Text, Competence.Text, Date.Now, Suivi.Text, Commentaire.Text)
        Me.CandidatTableAdapter.Fill(Me.MaquetteDataSet.Candidat)
        Me.Validate()
        Me.CandidatBindingSource.EndEdit()
        Me.CandidatTableAdapter.Update(Me.MaquetteDataSet.Candidat)
    
    End Sub"

En faisant ça j'arrive a ajouter dans la table mais qu'une seul fois (il me dit qu'il y a un probleme de clé primaire, or j'ajoute bien 1 a chaque fois) , mais quand je quitte l'application, ça ne le garde, car quand j'affiche les valeurs de la table candidats dans l'arborescence j'ai que les valeurs d'origine.

J'en ai marre je comprend plus rien
0
gillardg Messages postés 3275 Date d'inscription jeudi 3 avril 2008 Statut Membre Dernière intervention 14 septembre 2014 2
7 juil. 2008 à 15:42
heu si tu lance ton appli depuis IDE de vb , et queue tu utilises un fichier .MDf
comme bd et que ce fichier est copié à chaque fois que tu lance l'appli , il est normal queue tes changements soient perdus
0
Alexia178 Messages postés 16 Date d'inscription lundi 7 juillet 2008 Statut Membre Dernière intervention 10 juillet 2008
7 juil. 2008 à 15:43
Ok donc il faut que j'annule l'option copier a chaque fois le fichier ?
0
gillardg Messages postés 3275 Date d'inscription jeudi 3 avril 2008 Statut Membre Dernière intervention 14 septembre 2014 2
7 juil. 2008 à 15:47
non si ton prog est fini il faut le lancer mais depuis l'explorer
et met l'option 'copyr if newer'
0
gillardg Messages postés 3275 Date d'inscription jeudi 3 avril 2008 Statut Membre Dernière intervention 14 septembre 2014 2
7 juil. 2008 à 15:48
mais si c'est pour distribuer ta base de donnée il faudra pas oublier de distribuer le bon fichier  
0
Alexia178 Messages postés 16 Date d'inscription lundi 7 juillet 2008 Statut Membre Dernière intervention 10 juillet 2008
7 juil. 2008 à 15:54
Ok merci pour tout
0
gillardg Messages postés 3275 Date d'inscription jeudi 3 avril 2008 Statut Membre Dernière intervention 14 septembre 2014 2
7 juil. 2008 à 15:59
deux reins(de rien)
0
Alexia178 Messages postés 16 Date d'inscription lundi 7 juillet 2008 Statut Membre Dernière intervention 10 juillet 2008
7 juil. 2008 à 16:11
Au fait il y a t'il un moyen de garder les changements dans la base de données en utilisant IDE de vb ?

Et comment utiliser une application VB dans Explorer ?
0
gillardg Messages postés 3275 Date d'inscription jeudi 3 avril 2008 Statut Membre Dernière intervention 14 septembre 2014 2
7 juil. 2008 à 16:19
1 oui =>met l'option 'copy if newer'
2 ton appli.exe vb la stocke sur le disque dur ( si, si , cex vrai)
0
Rejoignez-nous