Salut à tous,
J'ai une question sur ... les requêtes paramétrées avec sqlite (non sérieux ?)
J'ai remarqué quelque chose que je m'explique difficilement, ce n'est pas un soucis de procéder autrement mais je pose la question pour comprendre en revanche.
Un code passé comme ceci entraine un erreur de lecture de la colonne generation, apparemment @g_Generation n'est pas remplacé par "Generation"
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3 command.CommandText = "SELECT[Generation] FROM[Machines] WHERE[Generation] NOT LIKE @v_Generation GROUP BY [@g_Generation]"; command.Parameters.AddWithValue("@v_Generation", "100"); command.Parameters.AddWithValue("@g_Generation", "Generation");
Si je lève les crochets, je n'ai pas d'erreur car tout bonnement ce n'est pas pris du tout en compte, donc j'aurais comme résultat la dernière ligne de ma table.
Je trouve cela étrange, je me disais que logiquement ça agissait sur toute la chaine de l'instruction, or on dirait que non, a moins que je ne me sois loupé quelque part, ce qui n'est pas improbable.
Ca n'opère que sur les "valeurs" ?
Ce qui me chiffone c'est que dans mon cas j'entendais permettre certaines fonctions aux plugins qui se grefferaient mais je me rends compte que du coup je suis obligé de ne proposer qu'un nombre restreint de fonctions qui vont verrouiller du coup en amont, les requêtes, alors que je comptais laisser libre accès sur les requêtes de lecture par exemple.
Merci.
Partager