Insight.Database에서 매개 변수를 바인딩 할 수 없습니다.

dapper insight.database micro-orm oledb

문제

내 저장소에서 SQL 쿼리에 매개 변수를 바인딩하려고하는데 오류가 발생했습니다.

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

OleDb 예외가 발생합니다.

SQL0313 : 유효하지 않은 호스트 변수의 수. 원인 . . . . . : EXECUTE 또는 OPEN 문에 지정된 SQLDA 또는 디스크립터 영역의 호스트 변수 또는 항목 수가 준비 SQL 문 S000001에 지정된 매개 변수 표시 문자 수와 같지 않습니다. 명령문 이름이 * N이면 SQLDA 또는 설명자 영역의 호스트 변수 또는 항목 수가 OPEN 문에 지정되었고 커서 C000001의 DECLARE CURSOR 문에 지정된 호스트 변수의 수와 같지 않습니다. 복구. . . : USING 절에 지정된 호스트 변수의 수 또는 SQLDA 또는 설명자 영역의 항목 수를 준비된 SQL 문의 매개 변수 표시 문자 수 또는 DECLARE CURSOR 문의 호스트 변수 수와 같게 변경하십시오. 프로그램을 다시 사전 컴파일하십시오.

내가 사용한거야? OleDb는 '?' 로 표시되는 위치 매개 변수를 갖기 때문에 매개 변수 바인딩에 사용됩니다. 오히려 '@parameterName' .

어떤 도움을 주셔서 감사합니다.

인기 답변

Insight.Database를 사용하면이 기능을 사용할 수 있습니까?

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


아래 라이선스: CC-BY-SA with attribution
와 제휴하지 않음 Stack Overflow
이 KB는 합법적입니까? 예, 이유를 알아보십시오.
아래 라이선스: CC-BY-SA with attribution
와 제휴하지 않음 Stack Overflow
이 KB는 합법적입니까? 예, 이유를 알아보십시오.