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 :

Requête SQL avec CheckBox vb.net


Sujet :

VB.NET

  1. #1
    Membre du Club
    Profil pro
    Inscrit en
    Novembre 2007
    Messages
    44
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2007
    Messages : 44
    Points : 41
    Points
    41
    Par défaut Requête SQL avec CheckBox vb.net
    Bonjour

    J’ai un formulaire avec des checkbox.

    Je voudrai insérer ses résultats dans ma BDD Access
    j'ai pensé a : "INSERT INTO chambre (CHA_TV) values (" + testcheck + ")"

    Mais voilà je suis bloqué, au moment de l’exécution, j’obtiens

    « La conversion de la chaîne "INSERT INTO chambre (CHA_TV) v" en type 'Double' n'est pas valide. »

    Pour info le champ dans ma BDD access est sous le format : Oui/Non

  2. #2
    Membre expérimenté Avatar de LaChips
    Profil pro
    Inscrit en
    Mars 2006
    Messages
    1 109
    Détails du profil
    Informations personnelles :
    Âge : 39
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Mars 2006
    Messages : 1 109
    Points : 1 482
    Points
    1 482
    Par défaut
    Bonjour,

    Essayez avec testcheck.Checked au lieu de testcheck.

    Vérifiez bien que le champs CHA_TV est bien un booléen et pas un double.

  3. #3
    Expert éminent sénior Avatar de Pol63
    Homme Profil pro
    .NET / SQL SERVER
    Inscrit en
    Avril 2007
    Messages
    14 177
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France, Puy de Dôme (Auvergne)

    Informations professionnelles :
    Activité : .NET / SQL SERVER

    Informations forums :
    Inscription : Avril 2007
    Messages : 14 177
    Points : 25 125
    Points
    25 125
    Par défaut
    moi je pencherais plutot pour le fait qu'il essaie de mettre la requete dans la mauvaise propriété ...

  4. #4
    Membre du Club
    Profil pro
    Inscrit en
    Novembre 2007
    Messages
    44
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2007
    Messages : 44
    Points : 41
    Points
    41
    Par défaut
    Citation Envoyé par sperot51 Voir le message
    moi je pencherais plutot pour le fait qu'il essaie de mettre la requete dans la mauvaise propriété ...
    Que veux-tu dire ?

    j'ai bien vérifié ma table, le format du champ est "Vrai/Faux"

    avec "INSERT INTO chambre (CHA_TV) values (" + Me.CheckBox1.Checked + ")"

    Ça ne marche toujours pas. Pourtant, il me détecte bien si ma case est à True ou False.

    Quelle peut être cette erreur ?

  5. #5
    Membre expérimenté Avatar de LaChips
    Profil pro
    Inscrit en
    Mars 2006
    Messages
    1 109
    Détails du profil
    Informations personnelles :
    Âge : 39
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Mars 2006
    Messages : 1 109
    Points : 1 482
    Points
    1 482
    Par défaut
    Citation Envoyé par pierrot53 Voir le message
    Que veux-tu dire ?

    j'ai bien vérifié ma table, le format du champ est "Vrai/Faux"

    avec "INSERT INTO chambre (CHA_TV) values (" + Me.CheckBox1.Checked + ")"

    Ça ne marche toujours pas. Pourtant, il me détecte bien si ma case est à True ou False.

    Quelle peut être cette erreur ?
    Est-ce que vous pourriez mettre quelques lignes de code ?

  6. #6
    Membre du Club
    Profil pro
    Inscrit en
    Novembre 2007
    Messages
    44
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2007
    Messages : 44
    Points : 41
    Points
    41
    Par défaut
    Citation Envoyé par LaChips Voir le message
    Est-ce que vous pourriez mettre quelques lignes de code ?
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
            MyConnexion.Open()
            Dim Mycommand As OleDb.OleDbCommand = MyConnexion.CreateCommand()
    Mycommand.CommandText = "INSERT INTO chambre (CHA_NUMERO,CHA_ETAGE,CHA_NB_LIT1P,CHA_NB_LIT2P,CHA_TV) values ('" + Me.MaskedTextBoxchambre.Text + "','" + Me.MaskedTextBoxEtage.Text + "','" + Me.MaskedTextBoxLit1place.Text + "','" Me.MaskedTextBoxLit2place.Text + "'," + Me.CheckBoxTV.Checked + ")"
            Mycommand.ExecuteNonQuery()
    Il bloque avant l'exécution de la requête. Sa vient bien de la checkbox ( j'ai tester tous les autres éléments sans problème.)


    Détails du champs TV dans la BDD access :
    Format :Vrai/Faux
    Afficher le contrôle : Case à cocher
    Indexé : Non

  7. #7
    Membre expérimenté Avatar de LaChips
    Profil pro
    Inscrit en
    Mars 2006
    Messages
    1 109
    Détails du profil
    Informations personnelles :
    Âge : 39
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Mars 2006
    Messages : 1 109
    Points : 1 482
    Points
    1 482
    Par défaut
    Est-ce que le champs CHA_TV n'attend plutôt pas 1 pour True et 0 pour False ?

  8. #8
    Membre averti
    Profil pro
    Inscrit en
    Décembre 2006
    Messages
    480
    Détails du profil
    Informations personnelles :
    Âge : 43
    Localisation : France

    Informations forums :
    Inscription : Décembre 2006
    Messages : 480
    Points : 357
    Points
    357
    Par défaut
    Décidément, on voit toujours les mêmes erreurs sur ce forum...

    Passez par des parmètres SQL, et la problème fondra comme neige au soleil...

  9. #9
    Membre du Club
    Profil pro
    Inscrit en
    Novembre 2007
    Messages
    44
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2007
    Messages : 44
    Points : 41
    Points
    41
    Par défaut
    Citation Envoyé par The eye Voir le message
    Décidément, on voit toujours les mêmes erreurs sur ce forum...

    Passez par des parmètres SQL, et la problème fondra comme neige au soleil...
    Comme ?

    Merci pour votre aide

  10. #10
    Membre averti
    Profil pro
    Inscrit en
    Décembre 2006
    Messages
    480
    Détails du profil
    Informations personnelles :
    Âge : 43
    Localisation : France

    Informations forums :
    Inscription : Décembre 2006
    Messages : 480
    Points : 357
    Points
    357
    Par défaut
    Voici un petit exemple d'insertion avec gestion des erreurs :
    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
     Public Shared Function mInsertExemple(ByVal c1 As String, ByVal c2 As String, ByVal c3 As String, ByVal connectionString As String) As String
     
            mInsertExemple = ""
     
            Dim oConnexion As New OleDb.OleDbConnection(connectionString)
            Try
                oConnexion.Open()
            Catch ex As Exception
                mInsertExemple = "ERREUR : l'ouverture de la connexion a échouée"
                Exit Function
            End Try
     
            Dim maRequete As String = "INSERT INTO maTable(c1, c2, c3) VALUES (?, ?, ?)"
     
            Dim oCommand As New OleDb.OleDbCommand(maRequete)
            oCommand.Connection = oConnexion
     
            oCommand.Parameters.Add("@c1", OleDb.OleDbType.Integer)
            oCommand.Parameters("@c1").Value = CInt(c1)
     
            oCommand.Parameters.Add("@c2", OleDb.OleDbType.VarChar)
            oCommand.Parameters("@c2").Value = c2
     
            oCommand.Parameters.Add("@c3", OleDb.OleDbType.Date)
            oCommand.Parameters("@c3").Value = CType(c3, Date)
     
            Try
                oCommand.ExecuteNonQuery()
            Catch ex As Exception
                mInsertExemple = "ERREUR : l'exécution de la requête a échoué"
            Finally
                oConnexion.Close()
                oConnexion.Dispose()
            End Try
        End Function

  11. #11
    Membre averti
    Profil pro
    Inscrit en
    Décembre 2006
    Messages
    480
    Détails du profil
    Informations personnelles :
    Âge : 43
    Localisation : France

    Informations forums :
    Inscription : Décembre 2006
    Messages : 480
    Points : 357
    Points
    357
    Par défaut
    Petit rappel sur certains avantages des paramètres SQL :

    - meilleures performances (plan d'exécutoin sauvegardé par le moteur SQL)
    - anti-injection SQL
    - résoud la problème des '

    ... et bien d'autres

  12. #12
    Rédacteur
    Avatar de SaumonAgile
    Homme Profil pro
    Team leader
    Inscrit en
    Avril 2007
    Messages
    4 028
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Moselle (Lorraine)

    Informations professionnelles :
    Activité : Team leader
    Secteur : Conseil

    Informations forums :
    Inscription : Avril 2007
    Messages : 4 028
    Points : 6 334
    Points
    6 334
    Par défaut
    Citation Envoyé par The eye Voir le message
    Petit rappel sur certains avantages des paramètres SQL :

    - meilleures performances (plan d'exécutoin sauvegardé par le moteur SQL)
    - anti-injection SQL
    - résoud la problème des '

    ... et bien d'autres
    ... expliqué ici : http://johannblais.developpez.com/tu...s-donnees/#LIV

  13. #13
    Membre du Club
    Profil pro
    Inscrit en
    Novembre 2007
    Messages
    44
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2007
    Messages : 44
    Points : 41
    Points
    41
    Par défaut
    UN grand Merci.

    Ça marche nickel !

  14. #14
    Membre averti
    Profil pro
    Inscrit en
    Décembre 2006
    Messages
    480
    Détails du profil
    Informations personnelles :
    Âge : 43
    Localisation : France

    Informations forums :
    Inscription : Décembre 2006
    Messages : 480
    Points : 357
    Points
    357
    Par défaut
    Citation Envoyé par SaumonAgile Voir le message
    Merci, j'avais la flemme de chercher le lien

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

Discussions similaires

  1. requête sql avec clause INNER JOIN
    Par new_wave dans le forum Langage SQL
    Réponses: 1
    Dernier message: 12/08/2005, 16h47
  2. Requête SQL avec une réponse unique
    Par Glutinus dans le forum Langage SQL
    Réponses: 5
    Dernier message: 06/07/2005, 17h35
  3. Problème de requête SQL avec instruction TRANSFORM
    Par Nosper dans le forum Requêtes et SQL.
    Réponses: 4
    Dernier message: 21/06/2005, 17h15
  4. requête SQL avec paramètre en vb avec base de donnée SQL srv
    Par dialydany dans le forum VB 6 et antérieur
    Réponses: 5
    Dernier message: 01/02/2005, 11h33
  5. PB requète SQL avec Interbase
    Par missllyss dans le forum InterBase
    Réponses: 2
    Dernier message: 15/07/2003, 12h37

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