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 :

[Visual 2008] Requete impossible


Sujet :

Windows Forms

  1. #1
    Futur Membre du Club
    Profil pro
    Inscrit en
    Août 2008
    Messages
    21
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Août 2008
    Messages : 21
    Points : 7
    Points
    7
    Par défaut [Visual 2008] Requete impossible
    Bonjour je suis étudiant en visual basic et j'aurai besoin de votre aide pour réaliser un de mes exercices

    Je vous explique ce que je dois faire : "Realiser une fonction qui va calculer l'age moyen de tous les étudiants et afficher le résultat du calcul dans une msgbox


    Je bloque au moment ou je dois faire la connection a la base de donnée (avec recordset et les ADODB)

    La requete je l'ai deja : SELECT AVG(age) FROM Table1 ;

    Le probleme étant que je ne sais pas comment l'integrer et le prof nous a rien expliquer du tout et a juste donné le code mais sans rien expliquer, et j'aimerai bien comprendre tout pour pouvoir le creer moi meme.

    Je demande votre aide ce serait vraiement tres sympa de votre part de m'aider

    Je vous remercie d'avance.

  2. #2
    Expert éminent sénior Avatar de Pol63
    Homme Profil pro
    .NET / SQL SERVER
    Inscrit en
    Avril 2007
    Messages
    14 154
    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 154
    Points : 25 072
    Points
    25 072
    Par défaut
    des infos ici surement : http://plasserre.developpez.com/vsommair.htm

    sinon le but c'est d'instancier un oledbconnexion, de lui mettre le connectstring et de faire open
    puis d'instancier un oledbcommand, de mettre ta requete dans commandtext puis de faire executereader et enfin de faire un while reader.read
    Cours complets, tutos et autres FAQ ici : C# - VB.NET

  3. #3
    Rédacteur/Modérateur


    Homme Profil pro
    Développeur .NET
    Inscrit en
    Février 2004
    Messages
    19 875
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Février 2004
    Messages : 19 875
    Points : 39 749
    Points
    39 749
    Par défaut
    ton prof t'a filé un code utilisant recordset et ADODB ?! mais c'est quoi ce prof ?
    ADODB est un vieux reste de VB6 et c'est une aberration de continuer à l'utiliser en VB.NET : l'infrastructure .NET pour l'accès aux bases de données est ADO.NET (va faire un tour ici pour plus d'infos)

    Si tu travailles en VB6 et non en VB.NET, dans ce cas ADODB est effectivement la techno à utiliser, mais ce n'est pas le bon forum...

  4. #4
    Futur Membre du Club
    Profil pro
    Inscrit en
    Août 2008
    Messages
    21
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Août 2008
    Messages : 21
    Points : 7
    Points
    7
    Par défaut
    Je vous remercie amplement de m'avoir répondu.

    Effectivement ce prof est (petit exemple de sa super intelligence: a l'ecole on travaille avec visual 2005 **que je préfére a la version 2008** et il nous a demandé d'installer la 2008 chez nous pour faire ses exercices ?!? les deux versions sont incompatibles donc a l'ecole sa bug --' )

    Bref voici le code qu'il a donné pour un autre exercices et que j'essaye d'adapter avec ma requete.


    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    Dim ADOCn As ADODB.Connection
            Dim ADORs As ADODB.Recordset
            Dim strnom As String
            ADOCn = New ADODB.Connection
            ADOCn.ConnectionString = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source= K:\exercice\panel.mdb"
            ADOCn.Open()
            ADORs = New ADODB.Recordset
            ADORs.Open("Select Nom from Table1", ADOCn)
            strnom = ADORs.Fields("Nom").Value
    MsgBox (strnom)
    Voila ce code marche bien dans VB 2008 mais apres quand je veux faire:


    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    Dim ADOCn As ADODB.Connection
            Dim ADORs As ADODB.Recordset
            Dim strnom As String
            ADOCn = New ADODB.Connection
            ADOCn.ConnectionString = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source= K:\exercice\panel.mdb"
            ADOCn.Open()
            ADORs = New ADODB.Recordset
            ADORs.Open("SELECT AVG(age) FROM Table1", ADOCn)
            strnom = ADORs.Fields("AVG(age)").Value
    MsgBox (strnom)
    ben sa bug, et je ne sais plus quoi faire et puis je comprend pas pourquoi dans visual 2005 les commandes ADORs ne marche pas

    Merci a vous
    a+

  5. #5
    Expert éminent sénior Avatar de Pol63
    Homme Profil pro
    .NET / SQL SERVER
    Inscrit en
    Avril 2007
    Messages
    14 154
    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 154
    Points : 25 072
    Points
    25 072
    Par défaut
    les 2 versions sont compatibles sur des projets de framework2 en windowsforms
    Cours complets, tutos et autres FAQ ici : C# - VB.NET

  6. #6
    Rédacteur/Modérateur


    Homme Profil pro
    Développeur .NET
    Inscrit en
    Février 2004
    Messages
    19 875
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Février 2004
    Messages : 19 875
    Points : 39 749
    Points
    39 749
    Par défaut
    Citation Envoyé par xslert Voir le message
    a l'ecole on travaille avec visual 2005 **que je préfére a la version 2008** et il nous a demandé d'installer la 2008 chez nous pour faire ses exercices ?!? les deux versions sont incompatibles donc a l'ecole sa bug
    D'abord, je ne vois pas trop pourquoi tu préfères VS2008 : c'est la même chose que 2005 avec des choses en plus, et pas mal d'améliorations... enfin, c'est ton choix
    Ensuite, les 2 versions sont tout à fait compatibles. Simplement, par défaut VS2008 travaille avec le framework 3.5, alors que VS 2005 travaille avec le 2. Dans VS2008, il suffit d'indiquer dans les propriétés du projet que tu cibles la version 2 du framework.

    Sinon, pour ton problème, tu pourrais peut-être nous dire en quoi ça bug ? ça compile pas ? ça fait une erreur à l'exécution ? quelle est l'erreur ? On ne peut pas deviner...

  7. #7
    Futur Membre du Club
    Profil pro
    Inscrit en
    Août 2008
    Messages
    21
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Août 2008
    Messages : 21
    Points : 7
    Points
    7
    Par défaut
    Heu... question de rapidité mais je vais retester cette version alors

    Voici l'erreur que j'ai:



    Merci de votre aide tres précieuse

    a+

  8. #8
    Expert éminent sénior Avatar de Pol63
    Homme Profil pro
    .NET / SQL SERVER
    Inscrit en
    Avril 2007
    Messages
    14 154
    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 154
    Points : 25 072
    Points
    25 072
    Par défaut
    le lien "Afficher les détails" est plutot pratique ...


    et puis ca manque de try catch visiblement (http://www.developpez.net/forums/sho...29&postcount=5)
    Cours complets, tutos et autres FAQ ici : C# - VB.NET

  9. #9
    Rédacteur/Modérateur


    Homme Profil pro
    Développeur .NET
    Inscrit en
    Février 2004
    Messages
    19 875
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Février 2004
    Messages : 19 875
    Points : 39 749
    Points
    39 749
    Par défaut
    ADODB est basé sur COM, donc ce genre d'erreur peut se produire, par exemple si ADODB n'est pas correctement installé.
    Tu n'aurais pas ce genre de problème si tu utilisais ADO.NET, comme je te le disais dans mon 1er post...

  10. #10
    Futur Membre du Club
    Profil pro
    Inscrit en
    Août 2008
    Messages
    21
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Août 2008
    Messages : 21
    Points : 7
    Points
    7
    Par défaut
    Citation Envoyé par tomlev Voir le message
    ADODB est basé sur COM, donc ce genre d'erreur peut se produire, par exemple si ADODB n'est pas correctement installé.
    Tu n'aurais pas ce genre de problème si tu utilisais ADO.NET, comme je te le disais dans mon 1er post...

    je veux bien utiliser ADO.net mais je sais pas comment faire désolé d'etre un noob pour vous

    Voici le screen:

    EDIT : Alors j'ai fait avec le catch, plus d'erreur mais je n'ai rien qui s'affiche dans mon msgbox ?!?

    EDIT 2 : Petit souci avec le ADO.net
    voici ce qu'il me marque quand je fais mes imports



    Aider moi SVP

    a+ merci

  11. #11
    Rédacteur/Modérateur


    Homme Profil pro
    Développeur .NET
    Inscrit en
    Février 2004
    Messages
    19 875
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Février 2004
    Messages : 19 875
    Points : 39 749
    Points
    39 749
    Par défaut
    bon, je crois qu'on va jamais s'en sortir tant que tu ne te seras pas formé un minimum... comme tu le fais remarquer toi-même, tu es complètement débutant, alors qu'est-ce que tu attends pour lire un tutoriel ? Il y a un cours très complet sur VB.NET ici : http://plasserre.developpez.com/vsommair.htm

    Citation Envoyé par xslert Voir le message
    je veux bien utiliser ADO.net mais je sais pas comment faire désolé d'etre un noob pour vous
    encore une fois :
    je t'ai déjà donné le lien :
    http://dotnet.developpez.com/cours/?...bnet#sqlservvb

    Citation Envoyé par xslert Voir le message
    EDIT : Alors j'ai fait avec le catch, plus d'erreur mais je n'ai rien qui s'affiche dans mon msgbox ?!?
    Ben oui, un try/catch ça ne résoud pas le problème comme par magie, ça ne fait qu'intercepter une erreur pour pouvoir la gérer... ça aussi, c'est la base ! tutoriel

    Citation Envoyé par xslert Voir le message
    EDIT 2 : Petit souci avec le ADO.net
    voici ce qu'il me marque quand je fais mes imports
    évidemment, ça ne se met pas là mais au début du fichier... tutoriel

  12. #12
    Futur Membre du Club
    Profil pro
    Inscrit en
    Août 2008
    Messages
    21
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Août 2008
    Messages : 21
    Points : 7
    Points
    7
    Par défaut
    Ben je vais etre franc avec toi,

    ce n'est pas mon exercices mais celui d'une tres bonne copine a moi et on a eu tous les deux, 2 prof différent.

    Moi j'ai recu les bonnes bases mais ont a pas ete dans les connections ni apprit les fonctions. J'ai apprit a creer des algo, utiliser les radio buttons etc quoi mais jamais de truc avec les bases de données.

    Elle par contre a recu un prof de merde qui c'est pas expliqué et n'explique rien du tout (pour te donnée une idée sur 20 il n'y en a que 2 qui passes sans exam de repassage a cause de ce prof, et ma copine y fait partie )

    Donc voila, 2 solutions sont disponibles si vous le voulez bien.

    Soite vous essayer de m'aider, soite si vous me donner le code deja fait

    Bien sur je demande sa gentillement, je ne force rien du tout, je voudrai juste qu'elle passe et sa me rendrait triste qu'elle rate


    SVP aider moi

  13. #13
    Rédacteur/Modérateur


    Homme Profil pro
    Développeur .NET
    Inscrit en
    Février 2004
    Messages
    19 875
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Février 2004
    Messages : 19 875
    Points : 39 749
    Points
    39 749
    Par défaut
    Moi j'ai recu les bonnes bases
    hum... vu tes posts précédents, permets moi d'en douter...

    On a répondu à toutes les questions précises que tu as posées, mais si tu attends qu'on fasse le boulot à ta place, c'est raté... personne ne te donnera le code tout fait, car ce n'est pas le but de ce forum, comme indiqué dans les règles :
    Nous ne sommes pas là non plus pour faire vos exercices.
    De plus, pour qu'on puisse t'aider, il faudrait déjà que tu te donnes la peine de lire les tutos qu'on t'indique, parce que pour l'instant tu n'as visiblement pas les bases suffisantes pour faire l'exercice, et on ne va pas refaire un cours rien que pour toi alors qu'il y en a déjà de très bons sur ce site.

    ADO.NET, ce n'est pas très compliqué à comprendre, mais encore faut-il :
    - avoir assimilé les bases du langage VB.NET
    - se donner la peine d'essayer...

    En bref : aide-toi, et on t'aidera

  14. #14
    Futur Membre du Club
    Profil pro
    Inscrit en
    Août 2008
    Messages
    21
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Août 2008
    Messages : 21
    Points : 7
    Points
    7
    Par défaut
    Je comprend et je respecte ton choix, je vais essayer de me débrouiller seul et qui sait j'arriverai peut-etre.

    Merci quand meme...

    Bonne soirée
    a+

  15. #15
    Rédacteur/Modérateur


    Homme Profil pro
    Développeur .NET
    Inscrit en
    Février 2004
    Messages
    19 875
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Février 2004
    Messages : 19 875
    Points : 39 749
    Points
    39 749
    Par défaut
    juste une petite mise au point : je ne refuse évidemment pas de t'aider, mais il faudrait déjà que tu aies des questions concrètes, parce que là c'est le flou total, on dirait que tu ne sais même pas où tu vas...
    donc commence par avancer un minimum en suivant les tutoriels, et si tu bloques sur un point précis, n'hésite pas à revenir demander de l'aide !

  16. #16
    Futur Membre du Club
    Profil pro
    Inscrit en
    Août 2008
    Messages
    21
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Août 2008
    Messages : 21
    Points : 7
    Points
    7
    Par défaut
    Effectivement les connexions aux bases c'est le flou total, je navigue et on vera bien

    Merci de ton aide
    a+

  17. #17
    Futur Membre du Club
    Profil pro
    Inscrit en
    Août 2008
    Messages
    21
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Août 2008
    Messages : 21
    Points : 7
    Points
    7
    Par défaut
    Me revoila, j'ai lu tout le bouquin et j'y est presque rien comprit

    Pour finir j'ai reussi je pense a creer un bon debut de code mais j'aurai besoin de vous pour récuperer la réponse de ma requete.

    Voici le code pour le moment:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    Dim strConnexion As String = "Data Source=F:\Mes documents\panel.mdb;"
            Dim strRequete As String = "SELECT AVG(age) FROM Table1"
     
            Dim oConnection As New SqlConnection(strConnexion)
            Dim oCommand As New SqlCommand(strRequete, oConnection)
            oConnection.Open()
            oCommand.ExecuteReader()
            oConnection.Close()

  18. #18
    Rédacteur/Modérateur


    Homme Profil pro
    Développeur .NET
    Inscrit en
    Février 2004
    Messages
    19 875
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Février 2004
    Messages : 19 875
    Points : 39 749
    Points
    39 749
    Par défaut
    alors... effectivement, c'est un début

    Mais il y a encore quelques trucs qui ne vont pas :
    • les classes SqlConnection, SqlCommand, SqlDataReader, etc, servent à se connecter à une base SQL Server, pas à une base Access. En fait, le principe pour access est exactement le même, mais avec d'autres classes. Le principe général de manipulation d'une BDD via ADO.NET est décrit ici
    • Il n'y a pas de provider ADO.NET spécifique pour Access, on passe en général par ODBC ou OLE DB. Il me semble que la plupart des gens utilisent plutôt OLE DB. Les classes à utiliser à la place des classes Sql* sont OleDbConnection, OleDbCommand, et OleDbDataReader. La chaine de connexion à utiliser est différente aussi, pour OLE DB avec Access, ça donne quelque chose comme ça :
      Code : Sélectionner tout - Visualiser dans une fenêtre à part
      Dim strConnexion As String = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=F:\Mes documents\panel.mdb;"
    • Pour exécuter une requête, on utilise, selon les cas :
      • ExecuteReader : pour exécuter une requête qui renvoie plusieurs lignes, ou 1 ligne avec plusieurs résultats. On lit ensuite les résultats via le DataReader récupéré
      • ExecuteScalar : pour exécuter une requête qui ne renvoie qu'une seule valeur, on n'a pas besoin de s'encombrer d'un DataReader (ça semble être le cas de ta requête)
      • ExecuteNonQuery : pour exécuter une requête qui ne renvoie pas de résultat (par exemple UPDATE, INSERT ou DELETE). Dans ce cas, la valeur renvoyée est le nombre de lignes affectées.


    Donc dans ton cas, tu peux récupérer le résultat de la requête avec l'instruction suivante :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    moyenne_age = CType(oCommand.ExecuteScalar(), Double)
    (La conversion avec CType est nécessaire parce que ExecuteScalar renvoie un Object)

    Pour une requête qui renvoie des résultats plus complexes (plusieurs colonnes et/ou plusieurs lignes, il faut utiliser ExecuteReader. Par exemple :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
     
    oCommand = oConnection.CreateCommand()
    oCommand.CommandText = "SELECT NOM, AGE FROM Table1"
    Dim oReader as IDbDataReader = oCommand.ExecuteReader()
    While oReader.Read()
       Dim nom as String = CType(oReader("NOM"), String)
       Dim age as Integer = CType(oReader("AGE"), Integer)
       MsgBox(nom + " a " + age + "ans")
    End While
    oReader.Close()
    (note que je déclare reader comme un IDbDataReader et non comme un OleDbDataReader, parce que toutes les classes *DbDataReader implémentent l'interface IDbDataReader. Ca permet de faire abstraction du type de provider ADO.NET utilisé. Pour plus de détails à ce sujet, va voir ce tutoriel)

    Voilà, avec ce que je t'ai dit là, plus les tutoriels que je t'ai indiqués, je pense que tu devrais t'en sortir

  19. #19
    Futur Membre du Club
    Profil pro
    Inscrit en
    Août 2008
    Messages
    21
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Août 2008
    Messages : 21
    Points : 7
    Points
    7
    Par défaut
    Voila je te remercie beaucoup j'ai reussi a faire ce que je voulais.

    Sa me laisse envisager diverse possibilité d'avenir.

    Merci pour ta patience et a ceux qui m'ont aidé.

    A++

    EDIT: donc si j'ai bien suivi ton truc, maintenant je voudrais rajouter un enregistrement a une base de donnée avec l'id et le mdp qui sera généré automatiquement je suit ton exemple et je fais comme ceci:

    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
    Dim mdp As New Random()
            Dim id As Byte
            Dim id2 As String
            Dim strConnexion As String = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=F:\Mes documents\panel.mdb;"
            Dim strRequete As String = "INSERT INTO panel VALUES(id2, txt2.Text)"
     
            Dim oConnection As New OleDbConnection(strConnexion)
            Dim oCommand As New OleDbCommand(strRequete, oConnection)
     
            oConnection.Open()
            Randomize() 'Initialisation du générateur de nombres aléatoires
            id = Int((26 * Rnd()) + 1) + Int((26 * Rnd()) + 1)
            id2 = (Chr(id + 64)) + (Chr(id + 62)) + (Chr(id + 60)) + (Chr(id + 66)) + (Chr(id + 68))
     
            txt1.Text = id2
            txt2.Text = mdp.Next(100000, 600000)
     
     
            oCommand.ExecuteNonQuery()
            oConnection.Close()
    Sauf que quand c'est sa il me dit que ExecuteNonQuery n'a pas de valeur

    tu peux m'expliquer en quelque ligne stp ? Enfait j'hesite avec celle ligne

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    INSERT INTO panel VALUES(id2, txt2.Text)
    je pense que je dis rajouter des truc avec id2, et txt2.text mais je sais pas

  20. #20
    Rédacteur/Modérateur


    Homme Profil pro
    Développeur .NET
    Inscrit en
    Février 2004
    Messages
    19 875
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Février 2004
    Messages : 19 875
    Points : 39 749
    Points
    39 749
    Par défaut
    Citation Envoyé par xslert Voir le message
    tu peux m'expliquer en quelque ligne stp ? Enfait j'hesite avec celle ligne

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    INSERT INTO panel VALUES(id2, txt2.Text)
    je pense que je dis rajouter des truc avec id2, et txt2.text mais je sais pas
    tu fais bien d'hésiter...
    tu ne peux pas mettre directement id2 et txt2.Text dans la requête SQL, puisque ce n'est pas du SQL mais des variables VB... il faut que tu mettes leur valeur :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Dim strRequete As String = "INSERT INTO panel VALUES(" + id2 + ", '" + txt2.Text +"')"
    attention:
    - aux apostrophes pour délimiter une chaine de caracteres dans le code SQL
    - à initialiser id2 et txt2.Text avant de générer la requête

    Sinon, autre méthode plus propre : utiliser des paramètres :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    Dim strRequete As String = "INSERT INTO panel VALUES(@id, @mdp)"
    Dim oConnection As New OleDbConnection(strConnexion)
    Dim oCommand As New OleDbCommand(strRequete, oConnection)
    oCommand.Parameters.Add("@id", OleDbType.Integer);
    oCommand.Parameters.Add("@mdb", OleDbType.Char);
     
    ...
    oCommand.Parameters("@id").Value = id2
    oCommand.Parameters("@id").Value = mdp.Next(100000, 600000)
    oCommand.ExecuteNonQuery()
    Plus de détails sur l'utilisation de requêtes paramètrées :
    http://johannblais.developpez.com/tu...s-donnees/#LIV

+ Répondre à la discussion
Cette discussion est résolue.
Page 1 sur 2 12 DernièreDernière

Discussions similaires

  1. Réponses: 0
    Dernier message: 06/04/2010, 00h53
  2. Création DLL Visual Studio 2008 : Chargement impossible
    Par Bleys dans le forum Visual Studio
    Réponses: 0
    Dernier message: 07/08/2008, 11h03
  3. probleme de requete impossible de trouvé l'occurence
    Par vincent.delvallee dans le forum Requêtes
    Réponses: 3
    Dernier message: 17/03/2006, 20h03
  4. requete impossible ?
    Par Raay dans le forum Langage SQL
    Réponses: 3
    Dernier message: 23/09/2005, 11h03
  5. Requete impossible ???!!!
    Par SVince93 dans le forum Langage SQL
    Réponses: 4
    Dernier message: 13/08/2003, 18h43

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