2011-12-22 100 views
1

我创建了一个存储过程对我的报告..数据库连接器错误

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和Visual Studio 2010为水晶报表..

感谢给我解释一下提前。 :d

+0

如果您为'@ Month'提供非空值? – 2011-12-22 10:46:25

回答

1

你的参数名称分隔的查询,所以SQL服务器被他们当作文字字符串。尝试

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

谢谢** adrift **。它解决了我的问题.. – 2011-12-22 07:14:41