2012-10-08 109 views
0

我会很感激这里的第三只眼睛。我有一个存储过程来执行,但我得到的消息错误数据类型为varchar转换为数字时,我用下面的值来执行它SQL - 将数据类型数字转换为数字时出错。

  EXECUTE packaging 
       @ID out, -- uniqueidentifier 
       @ProductID, --uniqueidentifier 
       @PackagingIN, --numeric(14,0) 
       @BarCodeInd, --nchar(1) 
       @GrossWeightperPack, --numeric(14,0) 
       @UMPID, --uniqueidentifier 
       @Height, --numeric(8,0) 
       @UMPID1, --uniqueidentifier 
       @Width, --numeric(8,0) 
       @UMPID2, -- uniqueidentifier 
       @Length, --numeric(8,0) 
       @UMPID3, --uniqueidentifier 
       1,  --int 
       1, --int 
       @statusid, 
       @counter out --int 

执行包装“0904AC11-7B0D-4326-A67B-49639DF6672C”,“57925472 -5F79-424E-806A-47F8B73DAE02' ,57582682639272, '', '',NULL, '',空 '' 空 '' 空 '',1,1,“B5266344-286E-46FE-91D1-35DEEDCD6063 ”,@counter

+0

您传递值'“”'的参数'@ GrossWeightperPack'它被定义为“数字(14,0)”。可能是这个问题。 –

+0

@GrossWeightperPack传递为'',它不会转换为数字(14,0)... –

+0

我应该如何传递它?由于我从前端发送值,如果它是空或空的,我应该发送什么? – Kobojunkie

回答

0

你有几个数字参数传递的空字符串‘’

传递一个数值,如您对PackagingIN参数,或传递null

例子:

Execute packaging '0904AC11-7B0D-4326-A67B-49639DF6672C', '57925472-5F79-424E-806A-47F8B73DAE02', 57582682639272, '', null, null, null, null, null,null, null,null,null, 1, 1, 'B5266344-286E-46FE-91D1-35DEEDCD6063', @counter 

避免将空字符串(除非需要),因为他们将某处你绊倒沿线

相关问题