私はSTARTDATEおよびENDDATE日時のパラメータを持っていますが、私は彼らに変換の問題は、2008
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をレポートショーのエラーを日時を指定する際に持ってPARAMTER SQL Serverのレポートを持っている価値6/2011分の22午前12:00:00 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を作成しているので、私はいくつかの他のparamtersも持っています。
空の文字列の問題がある場合は、DateTime値を文字列としてレポートに渡すことをお勧めします。その後、string.Emptyを送信することは可能です。 – Gambrinus
@Gambrinus:そうではありません。文字列と日付時刻を混在させると、DMY、MDYなどのため予期しない変換エラーが発生します。 – gbn
私はint型、varchar型、bit型の7つの他のパラメータを持っているので、動的SQLを使用しています –