2013-05-16 2 views
0

아래의 쿼리에 어떤 문제가 있는지 알려줄 수 있습니까? 을 사용하는 명명 된 SQL 쿼리 NHibernate. "GetSecondReviewIncomeStatements을 명명 된 쿼리에 오류"Nhibernate 명명 된 SQL 쿼리

나는 웹에 많이 검색 한
<sql-query name="GetSecondReviewIncomeStatements" read-only="true"> 
<![CDATA[ 
    SELECT I.TotalNetSales,I.CostOfGoodsSold,I.GrossProfit 
    FROM IncomeStatement as incomeStatement 
    INNER JOIN FETCH CompSearchResultItem as resultItem 
    ON incomeStatement.Comparable.ID = resultItem.Comparable.ID 
    AND resultItem.CompSearch.ID = :compSearchID  
    ]]>--> 
</sql-query>--> 

, 일부는 OnWhere을 넣어 대신에 말 - 나는 오류를 얻고있다. 나는 또한 NamedQuery만을 시도했지만 매번 같은 오류가 발생합니다.

+0

Nhibernate에서 저장 프로 시저를 사용하고 있습니까? –

+0

샘플 코드 만 공유하십시오. 전체 코드는 입력하지 마십시오. –

+0

추가 -> 이후]]> ?? – Rippo

답변

0

.hbm.xml 파일에서 명명 된 쿼리의 형식을 확인하십시오. 당신이 당신의 RDBMS의 SQL 실행기에서 '있는 그대로'를 넣어 경우 코드 사용에 hbm.xml

 <sql-query name="ShowProducts"> 
     <return alias="Product" class="Product" /> 
     exec ShowProducts 
     </sql-query> 

<sql-query name="DeleteProducts"> 
    <query-param name="Id" type="int"></query-param> 

    exec DeleteProducts @ID=:Id 
    </sql-query> 

에서

IQuery query = (IQuery)session.GetNamedQuery("ShowProducts"); 


     var listProducts = query.List<Product>(); 

     GridView1.DataSource = listProducts; 
     GridView1.DataBind(); 
0

당신의 SQL합니까이 실행?

CDATA 요소를 뒤덮은 이상한 --> 이외에도 쿼리에 I 별칭을 선언하지 않은 것으로 나타났습니다. I 앞에는

내 말은,이 열은 ...

SELECT I.TotalNetSales,I.CostOfGoodsSold,I.GrossProfit 

은 ... 어디에서 오는?

관련 문제