【发布时间】:2018-09-26 03:23:51
【问题描述】:
尝试将整数参数@id 传递给存储过程时,我收到错误da.Fill(ds):
附加信息:将 varchar 值“@id”转换为数据类型 int 时转换失败。
我已确保传递了整数值并且存储过程包含正确的数据类型。还有什么其他的可能来纠正这个错误?
SqlConnection conn = new SqlConnection(cs);
conn.Open();
SqlCommand cmd1 = new SqlCommand("asp_GetTrainingDetail", conn);
cmd1.CommandType = CommandType.StoredProcedure;
cmd1.Parameters.AddWithValue("@id", id);
SqlDataAdapter da = new SqlDataAdapter(cmd1);
DataSet ds = new DataSet();
da.Fill(ds);
【问题讨论】:
-
为什么以“Id”结尾的参数是varchar?
-
您桌子上的
id列似乎是varchar -
看起来c#变量
id是一个字符串。
标签: c# sql asp.net parameter-passing