我试图通过使用AddWithValue()
对象值的参数名称和对象[]的Array []的元素循环。 不幸的是,它说“过程或函数'sp_add_Request'期望参数'@RequestType',它没有被提供”。当我运行光标时,我可以看到提供的所有参数,我不明白问题出在哪里。请帮忙。请参见下面的代码:存储过程参数与AddWithValue()
object[] myValues = new Object[] { txtID.Text, ddlAmissionType.Text };
string[] paramsNames = new string[] { "@CHI", "@RequestType"};
dbConn.addData("sp_add_Request", paramsNames, myValues, lbMsg.Text);
父类的方法:
public static bool addData(string storedProcName, string[] dynamicParamName, object[] aramVals, string msg)
{
for (int i = 0; i < dynamicParamName.Length; i++)
{
cmd2.Parameters.AddWithValue(dynamicParamName[i], paramVals[i]);
//cmd2.Parameters.Add(dynamicParamName[i], dynamicParamValues[i]);
try
{
if (cmd2.Connection.State == ConnectionState.Closed)
{
cmd2.Connection.Open();
int stat = cmd2.ExecuteNonQuery();
if (stat > 0)
{
res = true;
msg = "Recorded Added successfully";
cmd2.Connection.Close();
cmd2.Dispose();
}
}
}
}
乔希您好,我做了你所说的话,跑到光标,但我仍然得到同样的结果。当我检查参数值的计数时,它仍然显示一个。见我的变化如下: 尝试 { 对(INT I = 0;我
Jim
看起来像它仍然在外面。我将以上面的样子编辑我的答案。 – Josh
你好乔希,谢谢你,我做了你所建议的改变,它的工作。非常感谢。我也会尝试abatishchev的方法。谢谢你们 – Jim