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

Windows Forms Discussion :

Problème d'ajout vb.net


Sujet :

Windows Forms

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Inscrit en
    Mai 2007
    Messages
    17
    Détails du profil
    Informations forums :
    Inscription : Mai 2007
    Messages : 17
    Par défaut Problème d'ajout vb.net
    salut tous le monde bon le problème c'est que je veux déclancher àpartir d'un seul boutton une requête d'ajout pour 2 table
    j'ai éssayer ce code mais sa marche pas merci de m'aider

    Code vb : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
            cmd.Connection = cn
            cmd.CommandType = CommandType.Text
            cmd.CommandText = "insert into vol_programme(numéro_vol,code_ville,code_ville_a,fréquence)values('" & TextBox1.Text & "','" & TextBox2.Text & "', '" & TextBox7.Text & "', '" & TextBox12.Text & "')"
            cmd.Connection = cn
            cmd.CommandType = CommandType.Text
            cmd.CommandText = "insert into depart(code_ville,nom,pays,date_depart,heure_depart)values('" & TextBox2.Text & "','" & TextBox3.Text & "','" & TextBox4.Text & "','" & TextBox5.Text & "','" & TextBox6.Text & "')"
            Try
                cmd.ExecuteNonQuery()
                MessageBox.Show("this flight is ready to take off", "WanaSoft", MessageBoxButtons.OK, MessageBoxIcon.Information)
            Catch ex As Exception
                MessageBox.Show(ex.Message)
            End Try
        End Sub

  2. #2
    Expert confirmé

    Avatar de Philippe Vialatte
    Homme Profil pro
    Architecte technique
    Inscrit en
    Juillet 2004
    Messages
    3 029
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 47
    Localisation : France, Alpes Maritimes (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Architecte technique
    Secteur : High Tech - Produits et services télécom et Internet

    Informations forums :
    Inscription : Juillet 2004
    Messages : 3 029
    Par défaut
    Salut

    Citation Envoyé par maroon1970 Voir le message
    j'ai éssayer ce code mais sa marche pas merci de m'aider
    Qu'est-ce que tu entends par "ca marche pas" ?

    Exception ? -> laquelle, et quel message ?

    Pas d'exception, pas de modifs de la base ?

    Explosion de l'ordinateur, et déclenchement d'une alerte européenne (j'aime bien celle-la )?

    Ceci dit, a premiere vue, je dirais que c'estr parce que tu n'as qu'un seul

    Mon Blog

    The Cake is still a lie !!!



    Vous voulez contribuer à la rubrique .NET ? Contactez-moi par MP.
    Vous voulez rédiger des articles pour la rubrique .NET ? Voici la procédure à suivre.

  3. #3
    Membre expérimenté

    Profil pro
    Inscrit en
    Avril 2005
    Messages
    95
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2005
    Messages : 95
    Par défaut
    Citation Envoyé par maroon1970 Voir le message
    salut tous le monde bon le problème c'est que je veux déclancher àpartir d'un seul boutton une requête d'ajout pour 2 table
    j'ai éssayer ce code mais sa marche pas merci de m'aider
    ...
    .CommandText = "insert into depart(code_ville,nom,pays,date_depart,heure_depart)values('" & TextBox2.Text & "','" & TextBox3.Text & "','" & TextBox4.Text & "','" & TextBox5.Text & "','" & TextBox6.Text & "')"
    Salut,

    Pvialatte à raison biensur, il te faut une cmd.executeNonQuery pour chacune des requettes. Sinon tu ne fait qu'initialiser des propriétés 2 fois de suite (les nouvelles valeurs écrasant les anciennes) avant d'executer la methode qui fait le boulot...

    Mais en plus, c'est une trés mauvaise idée d'inserer directement les valeurs dans ta requette.Par exemple, tu peux avoir des problèmes avec les dates (ex : jj/mm ou mm/jj ?).

    C'est pour ça que la classe command à une propriété parameters qui te permet de t'affranchir de ça :

    Voici un exemple :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
            Try
                Dim reqString As String = "insert into Liens(synoptique,lien,version) values (@synoptique,@lien,@version)"
                Using Cmd As New OleDb.OleDbCommand(reqString, Bdd)
                    Cmd.Parameters.Add("@Synoptique", OleDb.OleDbType.VarChar).Value = nomfichier
                    Cmd.Parameters.Add("@Lien", OleDb.OleDbType.VarChar).Value = champ
                    Cmd.Parameters.Add("@Version", OleDb.OleDbType.UnsignedTinyInt).Value = version
                    Cmd.ExecuteNonQuery()
                End Using
            Catch ex As Exception
                MsgBox("Erreur d'accès aux données :" & Environment.NewLine & ex.Message, MsgBoxStyle.Critical, "Extraction liens")
            End Try
    Attention il faut bien prendre garde d'ajouter les paramètres dans le bon ordre et surtout de bien préciser leur type (varchar, integer, date...)

    Enfin c'est comme tu veux hein

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

Discussions similaires

  1. Problème d'ajout des données avec ado.net
    Par ahmedbj dans le forum ADO.NET
    Réponses: 10
    Dernier message: 14/03/2012, 13h36
  2. Réponses: 0
    Dernier message: 12/10/2010, 11h45
  3. Réponses: 2
    Dernier message: 02/07/2010, 16h06
  4. problème d'ajout base accès en vb.net
    Par dokko dans le forum VB.NET
    Réponses: 1
    Dernier message: 25/04/2007, 21h23
  5. Réponses: 6
    Dernier message: 10/04/2007, 23h50

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