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 :

Utiliser la valeur d’un textbox dans une requete sql


Sujet :

VB.NET

  1. #1
    Membre à l'essai
    Profil pro
    Inscrit en
    Novembre 2008
    Messages
    17
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2008
    Messages : 17
    Points : 11
    Points
    11
    Par défaut Utiliser la valeur d’un textbox dans une requete sql
    Bonsoir tout le monde

    Est-ce que quelqu’un peut m’aider SVP

    Bon je suis un débutant avec VB.NET 2008 mon problème est que je veux utiliser une valeur entrée par l’utilisateur via un TEXTBOX dans une requête SQL mais sa plante vb m’affiche comme erreur « types de données incompatible dans l’expression du critère »

    Voila le bout du code que j’ai utilisé

    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
     
    Private Sub Button6_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button6.Click
     
     
            Dim Connection As OleDbConnection = New OleDbConnection("Provider=Microsoft.Jet.OLEDB.4.0;Data source=" & "C:\Documents and Settings\utilisateur\Bureau\basedeux.mdb")
     
            'Déclaration de la variable qui contiendra la requête OleDb liée à la connexion et de la variable contenant le nombre
            Dim CommandeCount As OleDbCommand = Connection.CreateCommand()
            Dim nbre As Integer
     
            'On affecte une chaine de caractère qui est la requête
            CommandeCount.CommandText = "SELECT COUNT(*) FROM Table3 WHERE cod_section = 'textbox1.text'  "
     
            'On fait appel au dataAdapter puis on ouve la connexion
            Connection.Open()
     
            'On met le nombre d'enregistrement retourné dans la variable nbre
            nbre = CommandeCount.ExecuteScalar()
     
            'Et on ferme la connexion
            Connection.Close()

  2. #2
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Décembre 2007
    Messages
    51
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2007
    Messages : 51
    Points : 36
    Points
    36
    Par défaut
    Je sais pas si c'est ça, mais je serais toi, je mettrais le textbox1.text dans une variable temporaire que j'utiliserai ensuite dans la requête SQL...

  3. #3
    Membre à l'essai
    Profil pro
    Inscrit en
    Novembre 2008
    Messages
    17
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2008
    Messages : 17
    Points : 11
    Points
    11
    Par défaut
    Utiliser la valeur d’un textbox dans une requete sql

    Merci pour ta reponce mais j’ai deja esseyr sa et sa pnate toujours

    J’ai fais ceci et sa na pas marcher

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    Dim i as Integer
    i=CType(textbox1.text,Integer)
    y a t'il quelqu'un qui a une autre idée SVP
    Merci

  4. #4
    Membre actif Avatar de tssi555
    Analyse système
    Inscrit en
    Juillet 2008
    Messages
    594
    Détails du profil
    Informations professionnelles :
    Activité : Analyse système

    Informations forums :
    Inscription : Juillet 2008
    Messages : 594
    Points : 295
    Points
    295
    Par défaut
    Il faut enlever les guillemets de textBox...

    Essaie ca :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    ....
    'On affecte une chaine de caractère qui est la requête
    Dim a as Interger 'si la valeur entré est integer sinon as String
    CommandeCount.CommandText = "SELECT COUNT(*) FROM Table3 WHERE cod_section=a"
    ....

  5. #5
    Membre à l'essai
    Profil pro
    Inscrit en
    Novembre 2008
    Messages
    17
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2008
    Messages : 17
    Points : 11
    Points
    11
    Par défaut
    Bonsoir merci pour ta réponse

    je viens d’essayer mais sa na pas marcher vb.net dit qu’il y a une erreur « Aucune valeur donnée pour un ou plusieurs des paramètres requis »

    J’arive pas a trouver ce qui clauche

  6. #6
    Expert éminent sénior Avatar de Pol63
    Homme Profil pro
    .NET / SQL SERVER
    Inscrit en
    Avril 2007
    Messages
    14 172
    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 172
    Points : 25 112
    Points
    25 112
    Par défaut
    la requete est dans un string
    il est possible de concaténer des string


    les guillements sql sont des '
    les guillements vb sont des "

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    CommandeCount.CommandText = "SELECT COUNT(*) FROM Table3 WHERE cod_section = " & textbox1.text
    m'enfin ca c'est la version simple, le mieux est d'utiliser des dbparameters, il y a des exemple sur ce forum entre autre

  7. #7
    Membre à l'essai
    Profil pro
    Inscrit en
    Novembre 2008
    Messages
    17
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2008
    Messages : 17
    Points : 11
    Points
    11
    Par défaut
    Bonsoir

    Je viens d’essayer et ça a marcher merci infiniment j’ai trop cherché et j’ai pas trouver vous m’avez bien aider merci bien

    thenks

  8. #8
    Membre actif Avatar de tssi555
    Analyse système
    Inscrit en
    Juillet 2008
    Messages
    594
    Détails du profil
    Informations professionnelles :
    Activité : Analyse système

    Informations forums :
    Inscription : Juillet 2008
    Messages : 594
    Points : 295
    Points
    295
    Par défaut
    Oui c'est vrai que j'ai oublié de te signaler de d'affecter à la valeur a le resultat de ton text box.


    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    ....
    'On affecte une chaine de caractère qui est la requête
    Dim a as Interger 'si la valeur entré est integer sinon as String
    a = textbox1.text 
    CommandeCount.CommandText = "SELECT COUNT(*) FROM Table3 WHERE cod_section=a"
    ....

  9. #9
    Expert éminent sénior Avatar de Pol63
    Homme Profil pro
    .NET / SQL SERVER
    Inscrit en
    Avril 2007
    Messages
    14 172
    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 172
    Points : 25 112
    Points
    25 112
    Par défaut
    Citation Envoyé par tssi555 Voir le message
    Oui c'est vrai que j'ai oublié de te signaler de d'affecter à la valeur a le resultat de ton text box.


    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    ....
    'On affecte une chaine de caractère qui est la requête
    Dim a as Interger 'si la valeur entré est integer sinon as String
    a = textbox1.text 
    CommandeCount.CommandText = "SELECT COUNT(*) FROM Table3 WHERE cod_section=a"
    ....
    ca n'irait pas non plus, textbox1.text, c'est une variable du meme type que a
    sauf que la chaine de caractère est envoyé à sql server (ou autre) et il ne connait pas a

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

Discussions similaires

  1. Réponses: 7
    Dernier message: 21/02/2015, 22h10
  2. Réponses: 5
    Dernier message: 05/03/2008, 14h35
  3. [DAO][00]Envoyer des valeurs dans une requete SQL direct
    Par Jeannot2 dans le forum VBA Access
    Réponses: 5
    Dernier message: 17/04/2007, 10h18
  4. Utilise la valeur d'une textbox dans une requête sql
    Par podidoo dans le forum Requêtes et SQL.
    Réponses: 4
    Dernier message: 29/03/2006, 09h53
  5. utilisation du contenu d'un champ edit dans une requete sql
    Par amri2006 dans le forum C++Builder
    Réponses: 2
    Dernier message: 23/01/2006, 16h05

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