执行sqlcom.Parameters.Add("@Depot",SqlDbType.VarChar,30).Value = P_Depot;报错!急!
public int Sku_loc(string P_Loc,int P_Storer, string P_Sku, string P_Depot, int P_Qty)
{
SqlCommand sqlcom = new SqlCommand("proc_Sku_loc", GetCon());
sqlcom.CommandType = CommandType.StoredProcedure;
sqlcom.Parameters.Add("@Loc",SqlDbType.VarChar,20).Value= P_Loc;
sqlcom.Parameters.Add("@Storer", SqlDbType.Int, 32).Value =P_Storer;
sqlcom.Parameters.Add("@Sku",SqlDbType.VarChar,20).Value = P_Sku;
sqlcom.Parameters.Add("@Depot",SqlDbType.VarChar,30).Value = P_Depot;
sqlcom.Parameters.Add("@Qty", SqlDbType.Int, 32).Value = P_Qty;
SqlParameter returnValue = sqlcom.Parameters.Add("returnValue", SqlDbType.Int, 4);
returnValue.Direction = ParameterDirection.ReturnValue;
G_Con.Open();
try
{
sqlcom.ExecuteNonQuery();
}
catch (Exception ex)
{
MessageBox.Show(ex.Message);
}
finally
{
sqlcom.Dispose();
G_Con.Close();
G_Con.Dispose();
}
int P_int_returnValue = (int)returnValue.Value;
return P_int_returnValue;
}
传参进来赋值以后~左边的 sqlcom.Parameters.Add("@Storer", SqlDbType.Int, 32).Value, sqlcom.Parameters.Add("@Depot",SqlDbType.VarChar,30).Value,..值仍为空。
------解决方案--------------------单步调试下,看看参数是否正确。
------解决方案--------------------错误信息是什么
------解决方案--------------------sqlcom.Parameters.Add("@Depot",SqlDbType.VarChar,30).Value = P_Depot;
参赛类型和数据库里面的一样吗?如:SqlDbType.VarChar
参赛大小和数据库里面的一样吗?如:30
以上2个都不一样的话,报错是必须的。
即使符合以上2点,那也需要看看你的30长度是不是够装P_Depot的长度