数据类型tinyint的算术溢出错误,值= 256

时间:2011-06-09 11:06:23

标签: sql-server

字节数= 1; 加号码); // form .cs

public static int Add( byte? order)
{
  arParams[0] = new SqlParameter("@number", (number.HasValue) ? ((object)number) : DBNull.Value);
  // stored procedure call is made which takes paramaters, 
}

存储过程看起来像这样

@number tinyint
AS
BEGIN
IF @number IS NOT NULL
BEGIN
  UPDATE 
    table1
  SET 
    number = number + 1
  WHERE 
    id=13
END
INSERT INTO 
 table1
(
  number
)
VALUES 
( 
  number=@number
)

///////为什么我得到这个错误可以任何人说明,我如何解决这个

2 个答案:

答案 0 :(得分:3)

tinyint的范围是0-255。

你试图将256放入一个不知道256是什么的数据类型。

int, bigint, smalltint and tinyint ranges.

答案 1 :(得分:2)

这是因为您无法将Tinyint值设置为超过255且低于0.因此,您应该在将验证发送到数据库之前应用验证。