8
votes

Comment puis-je utiliser l'opérateur comme un paramètre dans une requête SQLite?

Je peux obtenir le résultat que j'attends en saisissant cela dans Linqpad:

const string qry = String.Format("SELECT SiteNum FROM WorkTable WHERE WTName LIKE {0}%", tableName);


0 commentaires

3 Réponses :


10
votes

Le Wildcard % doit être ajouté à la valeur du paramètre et non au nom du paramètre xxx

et, je ne sais pas si cela importe ici, mais, Habituellement, j'insère le nom du paramètre avec le nom exact utilisé dans l'espace réservé (@wtname)


0 commentaires

-1
votes

Essayez de définir la requête comme ceci:

const string qry = "SELECT SiteNum FROM WorkTable WHERE WTName LIKE @wtName + '%'";


3 commentaires

N'a pas essayé sur sqlite mais cela fonctionne sur SQL Server à coup sûr. Je l'ai copié du projet existant.


L'opérateur de concaténation pour chaînes de SQLite est || Donc, vous devriez écrire @wtname || '%' toujours je crois que c'est trop sujet aux erreurs et non portable


@Dragon Votre réponse est valable pour SQL Server, mais pas pour SQLite, car j'ai déjà répondu à SQLite, vous devez utiliser '||' au lieu de '+'



7
votes

moyen le plus simple de le faire est d'utiliser '||'

Utilisez: xxx

au lieu de: xxx < / p>


0 commentaires