为过程或函数 ##指定的参数太多

AstaChen AstaChen 墨衍会员 · AI 创作全网分发 墨衍智能分发 通过墨衍一键同步至各平台 可同步平台 CSDN微信公众号微博知乎掘金百家号博客园抖音小红书 你的文章也可以这样分发 墨衍会员 ¥399起/年,写一次发全网 我也要 + 加入社区
tvBaseinfoInit是用于初始化一个treeview的,但每次调用tvBaseinfoInit()都出错,错误信息:为过程或函数 pro_GoTest指定的参数太多.....
可是存储过程pro_GoTest的确是需要三个参数阿。。。。
把下面红色的那行注释的话就能执行,各位大侠,走过路过看看是啥问题。。。

protected void tvBaseinfoInit()
{
TreeNode myRoot = new TreeNode();
myRoot.Text = "基础资料";
myRoot.Value = "0";
tvBaseinfo.Nodes.Add(myRoot);

tvBaseinfoAddNode(0, myRoot);
}

// 添加子节点
protected void tvBaseinfoAddNode(int pid, TreeNode ParentNode)
{
DataSet ds = clsBaseinfo.GoTest(-100, pid, -100);
DataTable dt = ds.Tables["Baseinfo"];

for (int i = 0; i < dt.Rows.Count; i++)
{
TreeNode myNode = new TreeNode();
myNode.Text = dt.Rows[i]["display"].ToString();
myNode.Value = dt.Rows[i]["id"].ToString();

ParentNode.ChildNodes.Add(myNode);
tvBaseinfoAddNode(Convert.ToInt32(myNode.Value), myNode);
}
}

--------clsBaseinfo.GoTest
public DataSet GoTest(int id, int pid, int status)
{
SqlCommand sqlComm = da.SelectCommand;
sqlComm.CommandText = "Pro_GoTest";
sqlComm.CommandType = CommandType.StoredProcedure;

SqlParameter sqlParam = new SqlParameter("@id", SqlDbType.Int);
sqlParam.Value = id;
sqlComm.Parameters.Add(sqlParam);

sqlParam = new SqlParameter("@pid", SqlDbType.Int);
sqlParam.Value = pid;
sqlComm.Parameters.Add(sqlParam);

sqlParam = new SqlParameter("@status", SqlDbType.Int);
sqlParam.Value = status;
sqlComm.Parameters.Add(sqlParam);

DataSet ds = new DataSet();
da.Fill(ds, "Baseinfo");

return ds;
}
...全文

相关推荐

评论 6
收藏 已收藏
分享
返回顶部
AstaChen
.NET社区 62,271 成员 668,968 内容