存储过程插入截断值

时间:2011-12-15 14:07:46

标签: sql sql-server

我有一个使用多个输入参数的存储过程并将它们插入到Sql Database中。一个参数@CustomerId存在问题,当插入数据库时​​会被截断(但不总是)。

C#:

cmd.CommandType = CommandType.StoredProcedure;
cmd.Parameters.AddWithValue("@CustomerId", Convert.ToInt32(customerId));
cmd.Connection = sqlConn;
sqlConn.Open();
cmd.ExecuteNonQuery();
sqlConn.Close();

Sql SP: @CustomerId int

INSERT INTO dbo.tblOffers 
(CustomerId)
VALUES
    (@CustomerId)

sql table数据类型:

CustomerId int not null

示例:564276117截断为4276117(但它不会一直发生,并且正确插入的值大于560000000) 我究竟做错了什么?感谢

2 个答案:

答案 0 :(得分:0)

尝试使用Parameters.Add()方法代替AddWithValue

cmd.Parameters.Add("@CustomerId",SqlDbType.Int).Value=CustomerID;

答案 1 :(得分:-1)

请尝试如下:使用ToInt64

cmd.CommandType = CommandType.StoredProcedure;
cmd.Parameters.AddWithValue("@CustomerId", Convert.ToInt64(customerId));
cmd.Connection = sqlConn;
sqlConn.Open();
cmd.ExecuteNonQuery();
sqlConn.Close();
相关问题