Syntax delete en sql

Fermé
amine - 29 juin 2011 à 10:53
mamiemando Messages postés 33410 Date d'inscription jeudi 12 mai 2005 Statut Modérateur Dernière intervention 2 décembre 2024 - 3 juil. 2011 à 22:37
Bonjour,
je veux savoir la syntax de supprimer en sql pour un champ text dans une listview en vb.net
j'ai le code suivant:
Cmdr = Cn.CreateCommand()
Cmdr.CommandText = "delete from produit where code_produit=" & lv.SelectedItems(0).Text.ToString

dans le base de donnée j'ai le champ code produit declaré text


lors de l'execution jai recus se message "Erreur de syntaxe dans la chaîne dans l'expression 'code_produit='h11'."
merci d'avance

3 réponses

mamiemando Messages postés 33410 Date d'inscription jeudi 12 mai 2005 Statut Modérateur Dernière intervention 2 décembre 2024 7 808
29 juin 2011 à 13:50
Peux-tu nous donner la valeur stockée dans Cmdr.CommandText, elle comporte probablement une erreur de syntaxe liée au contenu de lv.SelectedItems(0).Text.ToString.

... car à première vue la syntaxe semble correcte :
http://dev.mysql.com/doc/refman/5.0/fr/delete.html

Bonne chance
0
voici la valeur stocker dans cmdr.comandtext :
Cmdr = Cn.CreateCommand()
Cmdr.CommandText = "delete from produit where code_produit=" & lv.SelectedItems(0).Text.ToString
je veux aussi savoir la syntax select from table where condition =ecrit dans un combobox
j'ai utiliser cette syntax mais toujour j'ai reçus un message erreur
:"select * from commande where code_clt =" & ComboBox6.text &
voila le message
Le champ spécifié 'code_clt' peut désigner plusieurs tables listées dans la clause FROM de votre instruction SQL.
merci de votre attention
0
mamiemando Messages postés 33410 Date d'inscription jeudi 12 mai 2005 Statut Modérateur Dernière intervention 2 décembre 2024 7 808
30 juin 2011 à 15:10
Je crois qu'on s'est mal compris. L'idée c'est que tu construis une requête SQL à la volée. Pas de problème. Le seul soucis c'est qu'elle comporte une erreur de syntaxe (mot manquant, espace manquant, etc...). Il faut donc analyser le contenu des variables qui servent à la construire.

En l'occurrence
- "delete from produit where code_produit=" <--- ça c'est bon
- lv.SelectedItems(0).Text.ToString <--- ça on ne sait pas, visiblement ça contient 'h11'

N'est ce pas simplement que tu n'as pas oublié de mettre un ";" au bout de la chaîne ?

 "delete from produit where code_produit=" & lv.SelectedItems(0).Text.ToString & ";"


On dirait qu'en réalité la chaîne lv.SelectedItems(0).Text.ToString contient :

"'h11'."


... et si c'est bien ça, c'est le caractère "." qui est responsable du problème.

Pour moi il est vraiment important que tu nous reporte le contenu de Cmdr.CommandText :

Cmdr.CommandText = "delete from produit where code_produit=" & lv.SelectedItems(0).Text.ToString

print Cmdr.CommandText


Enfin je mets print mais je ne sais pas quel est l'instruction qui permet d'écrire du texte, je te laisse corriger...*

Bonne chance
0
j'ai resolu le probleme de syntax delete .
ms je sais pas quoi faire pour la syntax de" select * from commande where code clt="&combobox6.text&
code client est a apartienne a deux table (client, commande)qui on une relation 1 a plusieus
"moi je veux lorsque je selectionne un code client dans une combobox les commande passer par ce client s'affiche dans une autre combobox "
et merci
0
mamiemando Messages postés 33410 Date d'inscription jeudi 12 mai 2005 Statut Modérateur Dernière intervention 2 décembre 2024 7 808
Modifié par mamiemando le 1/07/2011 à 13:15
C'est toujours le même problème, tout dépend de la valeur contenue dans combobox6.text, de si le ";" en fin de requête est utilisé etc...

Si tu ne me reporte pas le contenu de la requête sql je ne peux pas te dire. Il faut que tu stockes ta requête dans une variable et que tu me donnes sa valeur.

Bonne chance
0
j'ai mis une ; ms ne fonctiione pas j'ai mis % ,&,;, ms tjr meme problem si tu peux me donné la syntax complet de cette requete sachant que le code clt est numeric num_commande est numeric
svp j'ai tros besoin
0
Polux31 Messages postés 6917 Date d'inscription mardi 25 septembre 2007 Statut Membre Dernière intervention 1 novembre 2016 1 204
2 juil. 2011 à 19:22
Bonjour,

Effectivement sans plus d'infos, il est difficile de répondre de façon précise.

Si le type du champ "clt" est de type numérique, assure toi que le contenu de ta combo soit bien du numérique. A première vue, j'utiliserai plutôt combobox6.Value plutôt que combobox6.text.

;o)
0
mamiemando Messages postés 33410 Date d'inscription jeudi 12 mai 2005 Statut Modérateur Dernière intervention 2 décembre 2024 7 808
3 juil. 2011 à 22:37
Je rejoins d'autant plus polux que la syntaxe complète est donnée dans le lien que je t'ai donné, dans la doc de mysql.
0