[Problème requête] SQLite en VB.net [Résolu]

Messages postés
13
Date d'inscription
vendredi 13 avril 2012
Statut
Membre
Dernière intervention
26 janvier 2016
- - Dernière réponse : b3nsouss
Messages postés
13
Date d'inscription
vendredi 13 avril 2012
Statut
Membre
Dernière intervention
26 janvier 2016
- 23 mai 2012 à 15:27
Dim sqlcommand As New SQLiteCommand(String.Concat(New String() {"INSERT INTO MESU_PLANT(id_mesu_plant, mesure,id_organe, positionMoy, id_campagne,methode, date,valeur) VALUES('(SELECT max(id_mesu_plant) FROM mesu_plant)+1','", Me.ComboBoxmesure.Text, "','SELECT ID_ORGANE FROM TYPEORGANE WHERE NOMORGANE = ", Me.ComboBoxorgane.Text, "','", Me.TextBoxgps.Text, "','", Me.ComboBoxessai.Text & Me.TextBoxdate.Text, "','", Me.ComboBoxméthode.Text, "','", Me.TextBoxdate.Text, "','", Me.TextBoxvaleur.Text, "');"})) With { _


Bonjour,

mon problème est que lorsque cette requête s’exécute, dans la base je n'ai pas le résultat des autres requêtes en valeur mais elle sont remises tel qu'elle dans la base (elle ne sont pas traitées ):
'(SELECT max(id_mesu_plant) FROM mesu_plant)+1'
et
'SELECT ID_ORGANE FROM TYPEORGANE WHERE NOMORGANE = ", Me.ComboBoxorgane.Text, "'
Afficher la suite 

4 réponses

Meilleure réponse
Messages postés
7741
Date d'inscription
mercredi 1 septembre 2004
Statut
Membre
Dernière intervention
24 septembre 2014
31
3
Merci
Tu as enlevé des parenthèses autour du premier SELECT qui sont nécessaires. Le count n'est pas bon, le max était meilleur, il te manque des ' à d'autres endroits, etc..

Plutôt que de vouloir écrire ton code en une seule ligne, décompose l'écrire de ta requete à part. Lors de l’exécution, met un point d’arrêt juste avant de passer la requete obtenu à ton objet command et regarde ce que tu as obtenu comme requete. C'est le meilleur moyen de voir si elle est bonne ou pas.


[i][b]---- Sevyc64 (alias Casy) ----
[hr]# LE PARTAGE EST NOTRE FORCE #/b/i

Dire « Merci » 3

Quelques mots de remerciements seront grandement appréciés. Ajouter un commentaire

Codes Sources 191 internautes nous ont dit merci ce mois-ci

Commenter la réponse de cs_casy
Messages postés
7741
Date d'inscription
mercredi 1 septembre 2004
Statut
Membre
Dernière intervention
24 septembre 2014
31
0
Merci
ne met pas de ' pour encadrer tes requêtes dans la clause Values

[i][b]---- Sevyc64 (alias Casy) ----
[hr]# LE PARTAGE EST NOTRE FORCE #/b/i
Commenter la réponse de cs_casy
Messages postés
13
Date d'inscription
vendredi 13 avril 2012
Statut
Membre
Dernière intervention
26 janvier 2016
0
Merci
ah sa m'a débloqué un peu mais maintenant il me dis qu'il y aurai une erreur au niveau d'un SELECT mais je vois pas.

Dim sqlcommand As New SQLiteCommand(String.Concat(New String() {"INSERT INTO MESU_PLANT(id_mesu_plant, mesure,id_organe, positionMoy, id_campagne,methode, date,valeur) VALUES(SELECT count(id_mesu_plant) FROM mesu_plant + 1,'", Me.ComboBoxmesure.Text, "',SELECT ID_ORGANE FROM TYPEORGANE WHERE NOMORGANE = '", Me.ComboBoxorgane.Text, "','", Me.TextBoxgps.Text, "','", Me.ComboBoxessai.Text & Me.TextBoxdate.Text, "','", Me.ComboBoxméthode.Text, "','", Me.TextBoxdate.Text, "','", Me.TextBoxvaleur.Text, "');"})) With { _
Commenter la réponse de b3nsouss
Messages postés
13
Date d'inscription
vendredi 13 avril 2012
Statut
Membre
Dernière intervention
26 janvier 2016
0
Merci
les 2 sous requêtes sont bonnes je l'ai ai déjà testées avec un autre logiciel. En remettant les parenthèses sa marche. merci pour ton aide ;)
Commenter la réponse de b3nsouss