2012-01-05 15 views
0

Hibernate 1.2からTSQLストアドプロシージャを呼び出しています。SQLクエリの戻り値の型が指定されていません(Int16)

var q = sessionStrategyNHibernate.GetSession() 
    .CreateSQLQuery("exec myProc ?, ?, ?, ?") 
    .SetString(0, "77") 
    .SetInt32(1, 1) 
    .SetResultTransformer(new AliasToBeanResultTransformer(typeof(Int16))) 
    .SetParameter(2, dateMinInclue, NHibernateUtil.DateTime) 
    .SetParameter(3, dateMaxExclue, NHibernateUtil.DateTime); 

var nb = q.UniqueResult<Int16>(); 

intを返しmyProcストアドプロシージャ(カウント)

create procedure myProc 
(
    @A nvarchar(255), 
    @B int, 
    @C datetime, 
    @D datetime 
) 
as 
begin 

    select count(*) as NB 
    from ... 

end 
go 

しかし、エラーが毎回

Message : Return types of SQL query were not specified [exec myProc ?, ?, ?, ?] 

何が問題になっていますがスローされますか?

答えて

0

COUNTは、32ビットの符号付きであるSQL Server intを返します。 Not Int16

+0

okです。 とtypeof(int)で試してみます。 –

+0

同じエラーが発生しました。しかし、エラーメッセージに「指定されていません」と表示されることは驚くべきことではありません。 –

関連する問題