这让我发疯了;)
我有这个存储过程......
ALTER PROCEDURE [dbo].[sproc_FindFoundries]
(@materials varchar(1000),
@capabilities varchar(1000))
AS
BEGIN
/* insert SQL code here */
END
该过程接受两个逗号分隔的字符串。在我的应用程序中,我有以下代码。
BCDataContext db = new BCDataContext();
SqlParameter prmMaterials = new SqlParameter("materials", SqlDbType.VarChar, 1000);
prmMaterials.Value = materialList;
SqlParameter prmCapability = new SqlParameter("capabilities", SqlDbType.VarChar, 1000);
prmCapability.Value = capabilityList;
SqlConnection cn = new SqlConnection(db.Connection.ConnectionString);
SqlCommand cmd = new SqlCommand("sproc_FindFoundries", cn);
cmd.Parameters.Add(prmMaterials);
cmd.Parameters.Add(prmCapability);
SqlDataAdapter da = new SqlDataAdapter(cmd);
DataSet ds = new DataSet();
da.Fill(ds);
当我执行代码时,我得到了错误
过程或函数 [sproc_name] 需要未提供的参数“@materials”。
当我尝试填充数据集时。测试时,我已验证两个参数都包含数据且不为空。有什么我错过的吗?第二双眼睛将不胜感激。
谢谢。