【发布时间】:2011-06-30 07:40:45
【问题描述】:
我有一个 sql server 报告,其中包含 startdate 和 enddate 日期时间参数,但是当我在其中指定日期时间时,报告显示错误
An error has occurred during report processing.
Exception has been thrown by the target of an invocation.
Conversion failed when converting date and/or time from character string.
startdate 参数值 6/22/2011 12:00:00 AM 在 C# 代码中设置为报告参数时,我的存储过程代码是
create PROCEDURE Price
@Startdate datetime = null,
@Enddate datetime = null
AS
declare @sql varchar(8000)
set @sql = 'SELECT CommodityPrice.dtm_Date FROM Commodity
INNER JOIN CommodityPrice ON Commodity.int_CommodityId = CommodityPrice.int_CommodityId where Commodity.vcr_HSCode is not null '
IF (@Startdate <> '')
BEGIN
SET @sql = @sql + ' and CommodityPrice.dtm_Date >= '+ @Startdate
END
IF (@Enddate <> '')
BEGIN
SET @sql = @sql + ' and CommodityPrice.dtm_Date <= '+ @Enddate
END
set @sql = @sql+ ' order by CommodityPrice.dtm_Date desc'
exec (@sql)
我怎样才能消除这个问题?我正在创建动态 sql,因为我还有一些其他参数。
【问题讨论】:
标签: c# sql-server-2008 stored-procedures reporting-services