【发布时间】:2014-04-27 07:42:41
【问题描述】:
我正在尝试创建一个SqlParameterCollection,但在sp.Add() 方法中添加一些SqlParameter 时出错。
请帮助我如何添加参数以及如何将其传递给我声明SqlConnection 和SqlCommand 的另一个函数。
SqlParameterCollection sp = null;
sp.Add(new SqlParameter("@CmpyCode", SqlDbType.NVarChar)).Value = CV.Global.CMPYCODE;
sp.Add(new SqlParameter("@Code", SqlDbType.NVarChar)).Value = codeName;
sp.Add(new SqlParameter("@DisplayCode", SqlDbType.NVarChar)).Value = codeName + "-";
sp.Add(new SqlParameter("@TotalDigit", SqlDbType.Int)).Value = CV.Global.PARAMTOTALDIGIT;
insertData("<Sp Name>", sp);
我的另一个函数是 insertData(...)
internal static int insertData(string spName, SqlParameterCollection sp)
{
int retObj = 0;
using (SqlConnection con = new SqlConnection(CV.Global.CONSTRING))
{
try
{
con.Open();
SqlCommand cmd = new SqlCommand(spName, con);
cmd.CommandType = CommandType.StoredProcedure;
if (sp.Count > 0)
{
foreach (SqlParameter param in sp)
cmd.Parameters.Add(param);
}
retObj = cmd.ExecuteNonQuery();
}
catch (Exception ev)
{
Util.Log(ev);
throw;
}
finally
{
try
{
con.Close();
}
catch (Exception ev) { Util.Log(ev); throw; }
}
}
return retObj;
}
我正在尝试创建一个SqlParameterCollection 并将其传递给insertData 函数。但是当我在第一个函数中调用sp.Add() 方法时,它会引发错误。
错误是
对象引用未设置为对象的实例
【问题讨论】:
-
尝试使用sqlcommand和Parameters.AddWithValue
-
您永远不会告诉我们您遇到了什么错误,如果您不确切说明发生了什么,您希望我们如何提供帮助。
-
它给出错误“对象引用未设置为对象的实例”