我在Sql Server 2005中使用存储过程。
我收到此错误:
“将varchar值'My_41.png'转换为数据类型int时转换失败。”
imageID在tbl_itemImage中声明为varchar(300) @ReturnValue声明为varchar(MAX)
插入和更新查询执行良好,数据也存储在表中。 但是在执行SELECT Query时,它会给我一个上面的错误。
这是我的存储程序
insert into
tbl_itemImage(itemID,imageID,name,isCoverImage,createdBy,createdOn)
values
(@itemID,@imageID,@name,@isCoverImage,@ID,getdate())
update tbl_itemImage
set imageID = @imageID + CAST(@@Identity as varchar(10))+ @imageExtension
where itemimageID = @@Identity AND imageID <> ''
DECLARE @ReturnValue varchar(MAX)
select @ReturnValue = imageID from tbl_itemImage where itemImageID = @@Identity
Return @ReturnValue
答案 0 :(得分:2)
RETURN语句(msdn.microsoft.com/en-us/library/ms174998.aspx)返回的值应为INT not VARCHAR(MAX)。相反,请使用OUTPUT参数(msdn.microsoft.com/en-us/library/ms187926.aspx)。无论如何,RETURN IntValue应该用于返回错误代码
由Bogdan Sahlean
应该作为答案。