嗨我已阅读过所有以前类似的问题,但无法使其正常工作
SqlParameter[] param = new SqlParameter[1];
param[0] = new SqlParameter("@Lot", SqlDbType.NChar, 112);
param[0].Value = "Bob123457";
DataSet ds1 = db.ExecuteDataSet("Getmagesbylot2", param );
我的存储过程正在寻找nchar(112)作为参数 我尝试过使用和不使用引号和单引号
答案 0 :(得分:2)
ExecuteDataSet调用采用实际参数值,而不是SqlParameter
个对象。将其更改为:
var ds1 = db.ExecuteDataSet("Getmagesbylot2", "Bob123457");
您可能还想检查您是否正确拼写了SP,也许它应该是GetImagesByLot2
。
答案 1 :(得分:-1)
使用此
SqlParameter[] param = new SqlParameter[1];
param[0] = new SqlParameter("@Lot", SqlDbType.VarChar, 112);
param[0].Value = "Bob123457";
DataSet ds1 = db.ExecuteDataSet("Getmagesbylot2", param );
OR
SqlParameter[] param = new SqlParameter[1];
param[0] = new SqlParameter("@Lot", SqlDbType.NVarChar, 112);
param[0].Value = "Bob123457";
DataSet ds1 = db.ExecuteDataSet("Getmagesbylot2", param );