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 :

ajouter une element dans une table


Sujet :

VB.NET

  1. #1
    Membre confirmé
    Inscrit en
    Novembre 2008
    Messages
    98
    Détails du profil
    Informations forums :
    Inscription : Novembre 2008
    Messages : 98
    Par défaut ajouter un element dans une table
    Salut
    Voila comme la montre la photo je suis entrain de faire une application qui interagir avec une base de donnée sous vb.net (avec SQL server) le problème :
    C’est que je ne sais pas comment faire pour le bouton ajouter ??,
    Une autre chose c’est vous avez un tutoriel qui traite le problème n’hésitez pas
    Merci d’avance

    remarque ce connecter à la base je sais faire ,parcoure une table au, afficher la position la seule chose que je nes ais pas faire c'est ajouter



  2. #2
    Membre chevronné
    Profil pro
    Inscrit en
    Avril 2009
    Messages
    388
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2009
    Messages : 388
    Par défaut
    Je suppose que ton bouton Ajouter te permet d'insérer les champs que remplit l'utilisateur.
    Si c'est le cas: Crée une méthode clic pour ton bouton et fais ta requête INSERT (tout ça en vérifiant la validité des champs)

  3. #3
    Rédacteur
    Avatar de Hinault Romaric
    Homme Profil pro
    Consultant
    Inscrit en
    Janvier 2007
    Messages
    4 570
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Cameroun

    Informations professionnelles :
    Activité : Consultant
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Janvier 2007
    Messages : 4 570
    Billets dans le blog
    121
    Par défaut
    après la connexion a ta BD dans le click event du bouton ajouter tu fait un truc du genre
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    dim req as string
     req = "insert into matable values('" & textnumclient.text & "','" & textnomclient.text & "')"
    ensuite tu exécute req et le tour est jouer
    Vous souhaitez participer aux rubriques .NET ? Contactez-moi

    Si déboguer est l’art de corriger les bugs, alors programmer est l’art d’en faire
    Mon blog, Mes articles, Me suivre sur Twitter
    En posant correctement votre problème, on trouve la moitié de la solution

  4. #4
    Membre confirmé
    Inscrit en
    Novembre 2008
    Messages
    98
    Détails du profil
    Informations forums :
    Inscription : Novembre 2008
    Messages : 98
    Par défaut
    merci à vous mais je ne sais pas quoi faire après??
    voila le code du bouton ajouter
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
      Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
     
            Dim req As String
            req = "insert into client values(" & TextBox1.Text & ",'" & TextBox2.Text & "','" & TextBox3.Text & "','" & TextBox4.Text & "'," & TextBox5.Text & ")"
     
        End Sub

  5. #5
    Membre averti
    Femme Profil pro
    Inscrit en
    Février 2008
    Messages
    50
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 36
    Localisation : Canada

    Informations forums :
    Inscription : Février 2008
    Messages : 50
    Par défaut
    slt kohan95,
    il vous manque quelque chose dans votre code

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    'Créez et ouvrez une connection  :
    Dim MyConnexion As New SqlConnection("data source =.; initial catalog= MyBase ;integrated security= yes")
    MyConnexion.open()
     
     'Créez un objet Commande
     Dim Cmd As New SqlCommand
    Cmd.CommandText="insert into client values(" & TextBox1.Text & ",'" & TextBox2.Text & "','" & TextBox3.Text & "','" & TextBox4.Text & "'," & TextBox5.Text & ")"
    Cmd.Connection = MyConnexion
     
     'Exécutez la commande
     Cmd.ExecuteNonQuery
     
    'Fermez la connexion et c ts
    MyConnexion.cloxe
    bon courage

  6. #6
    Membre confirmé
    Inscrit en
    Novembre 2008
    Messages
    98
    Détails du profil
    Informations forums :
    Inscription : Novembre 2008
    Messages : 98
    Par défaut
    salut
    merci à vous merci à toi rokirakat
    alors le code marche bien mais il y un problème quand j'ajoute un élément dans la table il faut fermer l'application puis la déboguer de nouveau pour pouvoir voir les changements or si j'utilise un DataGridView les changements se passe en même temps (j'espère que vous avez compris mon problème )
    si vous avez une soulution n'hésitez pas
    merci d'avance
    voici le code des boutons de l'application
    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
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    Imports System.Data.SqlClient
     
    Public Class Form1
     
        Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
            'Créez et ouvrez une connection  :
            Dim MyConnexion As New SqlConnection("Data Source=POST1\SQLEXPRESS;Initial Catalog=test2;Integrated Security=True")
            MyConnexion.Open()
     
            'Créez un objet Commande
            Dim Cmd As New SqlCommand
            Cmd.CommandText = "insert into client values(" & TextBox1.Text & ",'" & TextBox2.Text & "','" & TextBox3.Text & "','" & TextBox4.Text & "'," & TextBox5.Text & ")"
            Cmd.Connection = MyConnexion
     
            'Exécutez la commande
            Cmd.ExecuteNonQuery()
     
            'Fermez la connexion et c ts
            MyConnexion.Close()
     
        End Sub
     
        Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
            'TODO*: cette ligne de code charge les données dans la table 'TableClient.client'. Vous pouvez la déplacer ou la supprimer selon vos besoins.
            Me.ClientTableAdapter.Fill(Me.TableClient.client)
     
        End Sub
     
        Private Sub Button2_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button2.Click
            Me.BindingContext(TableClient, "client").Position += 1
        End Sub
     
        Private Sub Button3_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button3.Click
            Me.BindingContext(TableClient, "client").Position -= 1
        End Sub
    End Class


    voici une photo pur voir les changement que j'ai apporté à l'application

  7. #7
    Membre averti
    Femme Profil pro
    Inscrit en
    Février 2008
    Messages
    50
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 36
    Localisation : Canada

    Informations forums :
    Inscription : Février 2008
    Messages : 50
    Par défaut
    c'est normal car lorsque tu clic sur ajouter les données s'ajoutent directement dans la base , cependant pour l'affichage tu affiche des données déjà stockées dans une Table en mémoire ,donc il faut que cette table la soit toujours actualisée pour afficher ce que ta ajouté dans la base ou bien changer la méthode d'ajout pour qu'on ajoute dans la même table qu'on utilise dans l'affichage

  8. #8
    Membre confirmé
    Inscrit en
    Novembre 2008
    Messages
    98
    Détails du profil
    Informations forums :
    Inscription : Novembre 2008
    Messages : 98
    Par défaut
    merci rokirakat ta bien compris mon problème.
    mais comment faire pour coder tout ça ??


    j'ai essayée avec SqlDataAdapter1.Update(TableClient) ça marche pas

    c-à-d
    table soit toujours actualisée pour afficher ce que ta ajouté dans la base ou bien changer la méthode d'ajout pour qu'on ajoute dans la même table qu'on utilise dans l'affichage ??

    enfin je sais que je deviens lourd mais il faute savoir que j'ai bien cherché des tutoriels sur le sujet j'ai rien trouvé et à la fin j'ai vraiment pas d'autre solution que vous

  9. #9
    Membre éprouvé
    Inscrit en
    Avril 2009
    Messages
    99
    Détails du profil
    Informations forums :
    Inscription : Avril 2009
    Messages : 99
    Par défaut
    Salut kohan95,

    Pour rafraichir ta page (et par la même occasion ton DataGridView), tu peux
    - soit créer un nouveau bouton "Rafrachir", avec un nouveau chargement de ta datatable
    - soit ajouter à la fin de ta procédure "Button1.Click" le rechargement de ton DGV.
    Dans un cas comme dans l'autre, il faut que tu te connectes à la base de données, que tu charges ce que tu veux voir, puis que tu l'affiche dans ton DGV (sans oublier de fermer la connexion, bien sûr).

    Après, à toi de voir ce que préfères...

  10. #10
    Membre confirmé
    Inscrit en
    Novembre 2008
    Messages
    98
    Détails du profil
    Informations forums :
    Inscription : Novembre 2008
    Messages : 98
    Par défaut
    merci mais le problème c'est que je ne sais pas comment faire ??

    pour rafraichir l'application ??,

  11. #11
    Membre éprouvé
    Inscrit en
    Avril 2009
    Messages
    99
    Détails du profil
    Informations forums :
    Inscription : Avril 2009
    Messages : 99
    Par défaut
    He bien il faut simplement que tu recharges ton DGV, comme dans ton FormLoad :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    'TODO*: cette ligne de code charge les données dans la table 'TableClient.client'. Vous pouvez la déplacer ou la supprimer selon vos besoins.
    Me.ClientTableAdapter.Fill(Me.TableClient.client)

  12. #12
    Membre confirmé
    Inscrit en
    Mai 2009
    Messages
    76
    Détails du profil
    Informations forums :
    Inscription : Mai 2009
    Messages : 76
    Par défaut
    la réponse de wapi_gui devrait resoudre ton probléme de rafraichissement !

    Par contre , je devellope aussi en ce moment en VB , pour faire des requetes SQL je ne me coltine pas autant de code ! [ Je sait pas si c'est mieux ^^ ]

    Je doublic clic sur mon fichier .xsd , je fait glisser ma table sur le concepteur de vue .
    voici un screen :ici

    Ensuite tu clique droit au niveau inférieur du cadre ( ou tu vois Fill,GetData .... ) , Ajouter une requetes , et tu te laisse guider !

    Pour appeler ta requetes dans ton code :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Me.TablePersonneTableAdapter.InsertUtilisateur(Me.TextBoxNom1.Text, Me.TextBoxPre2.Text, Me.NumericUpDownage2.Value)

  13. #13
    Membre confirmé
    Inscrit en
    Novembre 2008
    Messages
    98
    Détails du profil
    Informations forums :
    Inscription : Novembre 2008
    Messages : 98
    Par défaut
    enfin je viens de trouver la solution est deux en plus pour

    solution 1 code

    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
           Dim cmdb As New OleDbCommandBuilder
                Dim cmd As DataRow
                ClientBindingSource.EndEdit()
                cmd = ClientproduitDataSet.Tables("Client").NewRow
                cmd(0) = TextBox1.Text
                cmd(1) = TextBox3.Text
                cmd(2) = TextBox5.Text
                cmd(3) = TextBox2.Text
                ClientproduitDataSet.Tables("Client").Rows.Add(cmd)
     
                ClientTableAdapter.Update(ClientproduitDataSet.client)
                MessageBox.Show("Bien Ajout‚", "Information", MessageBoxButtons.OK, MessageBoxIcon.Information)
     
            Catch
     
                MessageBox.Show("numero est deja ajouté‚", "Information", MessageBoxButtons.OK, MessageBoxIcon.Information)
     
            End Try
    il marche biens son problème plus besoin de fermer l'application pour voir les changements

    solution 2 le code
    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
    'Créez et ouvrez une connection  :
                Dim MyConnexion As New SqlConnection("Data Source=POST1\SQLEXPRESS;Initial Catalog=test2;Integrated Security=True")
                MyConnexion.Open()
     
                'Créez un objet Commande
                Dim Cmd As New SqlCommand
                Cmd.CommandText = "insert into client values(" & TextBox1.Text & ",'" & TextBox2.Text & "','" & TextBox3.Text & "','" & TextBox4.Text & "'," & TextBox5.Text & ")"
                Cmd.Connection = MyConnexion
     
                'Exécutez la commande
                Cmd.ExecuteNonQuery()
                ClientBindingSource.EndEdit()
                'Fermez la connexion et c ts
                MyConnexion.Close()
            Catch
                MessageBox.Show("numero est deja ajouté‚", "Information", MessageBoxButtons.OK, MessageBoxIcon.Information)
            End Try
    mais il y a un problème c'est que dans le DataGridView à voir



    remarque pour les deux solutions

    pour DataGridView : j'ai utilisé les propriété datasource est datamanber


    voila c'est tout maintenant j'attaque la fonction recherche dans une base

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Réponses: 4
    Dernier message: 15/10/2009, 13h33
  2. portée d'une variable dans une fonction dans une méthode
    Par laurentg2003 dans le forum Général JavaScript
    Réponses: 4
    Dernier message: 29/06/2009, 19h05
  3. [POO] dans une classe, appeler une fonction dans une méthode
    Par arnaudperfect dans le forum Langage
    Réponses: 3
    Dernier message: 26/08/2007, 23h04
  4. Envoyer une formulaire dans une page dans une Frame
    Par zooffy dans le forum Balisage (X)HTML et validation W3C
    Réponses: 5
    Dernier message: 29/06/2007, 10h13
  5. Recherche une valeur d'une cellule dans une colonne d'une autre feuille
    Par kourria dans le forum Macros et VBA Excel
    Réponses: 8
    Dernier message: 21/06/2007, 13h48

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