Syntax delete en sql

amine -  
mamiemando Messages postés 34245 Date d'inscription   Statut Modérateur Dernière intervention   -
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

A voir également:

3 réponses

mamiemando Messages postés 34245 Date d'inscription   Statut Modérateur Dernière intervention   7 899
 
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
amine
 
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 34245 Date d'inscription   Statut Modérateur Dernière intervention   7 899
 
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
amine
 
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 34245 Date d'inscription   Statut Modérateur Dernière intervention   7 899
 
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
amine
 
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 7219 Statut Membre 1 204
 
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 34245 Date d'inscription   Statut Modérateur Dernière intervention   7 899
 
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