cs_babylonne
Messages postés46Date d'inscriptionlundi 13 décembre 2004StatutMembreDernière intervention11 juillet 2007
-
20 avril 2007 à 11:49
cs_Nurgle
Messages postés1642Date d'inscriptionsamedi 6 novembre 2004StatutMembreDernière intervention28 avril 2011
-
20 avril 2007 à 16:19
pb de syntaxe(urgent)<hr style= "COLOR: #d1d1e1" size="1" /><!-- / icon and title --><!-- message -->
Bonsoir tt le monde:
J'ai un petit souci par rapport à la sélection d'1 élement c-a-d au moment où je sélectionne un listeitem du control listbox1 , j'ai une erreur de type syntaxe que je n'arrive pas à résoudre. (chaine de connexion correct).
Voici une partie du code:
<!-- END TEMPLATE: bbcode_code -->
Je m'explique une derniere fois c-a-d quand je choisi , Salsa qui se trouve dans la colonne Genre de la tableAlbums et que ensuite je valide
j'ai les erreurs suivantes:
Erreur du serveur dans l'application '/projet'.
--------------------------------------------------------------------------------
Ligne 1 : syntaxe incorrecte vers '.'.
Ouvrez les guillemets avant la chaîne de caractères 'Salsa'.
Description : Une exception non gérée s'est produite au moment de l'exécution de la demande Web actuelle. Contrôlez la trace de la pile pour plus d'informations sur l'erreur et son origine dans le code.
Détails de l'exception: System.Data.SqlClient.SqlException: Ligne 1 : syntaxe incorrecte vers '.'.
Ouvrez les guillemets avant la chaîne de caractères 'Salsa'.
Erreur source:
Ligne 62 : MaConnexion.Open();
Ligne 63 : SqlCommand macommande = new SqlCommand(marequête, MaConnexion);
Ligne 64 : SqlDataReader monDataReader = macommande.ExecuteReader();
Ligne 65 : Repeater1.DataSource = monDataReader;
Ligne 66 : Repeater1.DataBind();
sachant qand je mets 2 " " apres where Albums.Genre j'ai plus d'erreur .
pas de pb de connexion .
Merci d'avance de votre aide.
cs_Nurgle
Messages postés1642Date d'inscriptionsamedi 6 novembre 2004StatutMembreDernière intervention28 avril 20114 20 avril 2007 à 16:19
Salut,
Arg, combien de fois faudra-t-il le dire : ne pas utiliser de concaténation de chaines de caracères quand on forme des requêtes SQL !
ça cause souvent des erreurs comme la tienne du fait que tu découpes ta requêtes en petits morceaux, et surtout ça laisse une énorme faille par SQL Injection !
Il faut utiliser les SqlParameters.
Exemple :
string Requete "SELECT * FROM MaTable WHERE MonChamp @toto"
SqlParameter param = new SqlParameter("toto",SqlDbType.VarChar);
param.Value = ListBox1.SelectedItem.Text;
...
maSqlCommand.Parameters.Add(param);
... // la suite suite du code