Impossible de lier le paramètre dans Insight.Database

dapper insight.database micro-orm oledb

Question

J'essaie de lier un paramètre à une requête SQL dans mon référentiel mais ayant une erreur

public IList<Movie> FindMovieById(int movieId)
{
   return Database.Connection().QuerySql<Movie>("select * from myDB.movies where ID=?", new { movieId });
}

Je reçois une exception OleDb.

SQL0313: Nombre de variables hôte non valides. Cause . . . . . : Le nombre de variables hôtes ou d'entrées dans une zone SQLDA ou descripteur spécifiée dans une instruction EXECUTE ou OPEN n'est pas identique au nombre de marqueurs de paramètre spécifiés dans l'instruction SQL préparée S000001. Si le nom de l'instruction est * N, le nombre de variables hôtes ou d'entrées dans une zone SQLDA ou descripteur a été spécifié dans une instruction OPEN et différent du nombre de variables hôte spécifié dans l'instruction DECLARE CURSOR pour le curseur C000001. Récupération . . : Modifiez le nombre de variables hôte spécifiées dans la clause USING ou le nombre d'entrées dans la zone SQLDA ou descripteur pour qu'il soit égal au nombre de marqueurs de paramètre dans l'instruction SQL préparée ou au nombre de variables hôte dans l'instruction DECLARE CURSOR. Précompiler le programme à nouveau.

J'ai utilisé ? pour la liaison de paramètres comme OleDb a des paramètres de position qui sont désignés par '?' plutôt le '@parameterName' .

Toute aide est appréciée.

Réponse populaire

En utilisant Insight.Database, pouvez-vous essayer ceci?

return Database.Connection().QuerySql<Movie>(
  "select * from myDB.movies where ID=@movieId", 
  new { movieId = movieId });


Sous licence: CC-BY-SA with attribution
Non affilié à Stack Overflow
Sous licence: CC-BY-SA with attribution
Non affilié à Stack Overflow