首页 文章

将varchar值'****'转换为数据类型int时转换失败

提问于
浏览
0

我在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

1 回答

  • 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

    应该作为答案 .

相关问题