2011-12-22 6 views
1

は、私は私のレポートのストアドプロシージャを作成しました。..Database Connectorエラー

create Procedure [dbo].[sp_Score_Grade] 

@Month int, 
@Year int, 
@Log_User varchar(30) 
AS 
(
    SELECT Log_User, Count = COUNT(Det_Score), Score = SUM(Det_Score) 
    FROM MEMBER M,DETAILS D 
    WHERE D.Emp_Id = M.Emp_Id AND 
    Log_User like '@Log_User' 
    AND Month(Sched_Start) = '@Month' 
    AND Year(Sched_Start) = '@Year' 
    GROUP BY Log_User 
) 

とクリスタルレポート]ダイアログボックスがパラメータを求めて表示されたときに、私がnullにすべての値を確認してください。しかし、私は次のステップに進む前に。以下のエラーが表示されます。

Database Connector Error: 
Source: Microsoft OLE DB Provider for SQL Server 
Description: Conversion failed when converting the varchar value '@Month' to data type int 
SQL State: 22018 
Native Error: 245[Database Vendor Code: 245] 

私はこのエラーを取得し、私は... イム使用してMS SQL Server 2005とVS2010のためのCrystal Report ..

おかげでがどうなるか、なぜここに誰かが私に説明できることを期待しています前進。 :D

+0

'@ Month'にnull以外の値を指定した場合は、 –

答えて

1

パラメータ名はクエリで区切られているため、SQL Serverはそれらをリテラル文字列として扱います。試してみてください

Log_User like @Log_User 
    AND Month(Sched_Start) = @Month 
    AND Year(Sched_Start) = @Year 
+0

ありがとうございました。それは私の問題を解決した.. –