| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 3026 人关注过本帖
标题:(出错求救)为过程或函数 IndexTree_Delete 指定的参数太多
只看楼主 加入收藏
wangzhen_andy
Rank: 2
来 自:广州
等 级:论坛游民
帖 子:39
专家分:25
注 册:2008-9-22
结帖率:50%
收藏
 问题点数:0 回复次数:15 
(出错求救)为过程或函数 IndexTree_Delete 指定的参数太多
今天用DbHelper进行数据库的操作,编了几行代码。运行时出错如下:
未处理的“System.Exception”类型的异常出现在 SubwayPreplan.exe 中。

其他信息: 为过程或函数 IndexTree_Delete 指定的参数太多。

相关代码:
public void Delete(int ID)
        {

            int rowsAffected;
            SqlParameter[] parameters = {
                    new SqlParameter("@ID", SqlDbType.BigInt,8),    
                    new SqlParameter("@Title", SqlDbType.VarChar,50),
                };
            parameters[0].Value = ID;
            parameters[1].Value = Title;
            DbHelperSQL.RunProcedure("IndexTree_Delete", parameters, out rowsAffected);
        }
private void btndeleteNode_Click(object sender, EventArgs e)
        {
            clsIndexTree.ID = int.Parse(txtNodeId.Text);
            clsIndexTree.Title = txtNodeName.Text;
            clsIndexTree.Delete(clsIndexTree.ID);
            MessageBox.Show("编辑成功", "提示信息", MessageBoxButtons.OK, MessageBoxIcon.Information);

        }

小弟出学者,不知道怎样改,请大家指教!!
搜索更多相关主题的帖子: Delete IndexTree 函数 参数 
2008-10-03 20:28
jz8417
Rank: 1
等 级:新手上路
帖 子:24
专家分:0
注 册:2008-10-3
收藏
得分:0 
这个

不懂
楼下回答
我是菜鸟。。。

[url=http://www.]成人小游戏[/url] [url]http://www.[/url]
2008-10-03 22:02
wangzhen_andy
Rank: 2
来 自:广州
等 级:论坛游民
帖 子:39
专家分:25
注 册:2008-9-22
收藏
得分:0 
第一次发帖,你是第一个回复,还是谢谢啦。。。。
2008-10-03 23:00
bygg
Rank: 16Rank: 16Rank: 16Rank: 16
来 自:乖乖的心中
等 级:版主
威 望:241
帖 子:13555
专家分:3076
注 册:2006-10-23
收藏
得分:0 
public void Delete(int ID)方法中只需要一个参数,但是parameters[1].Value = Title;中的Title是哪里来的?

而引用时clsIndexTree.Delete(clsIndexTree.ID);我觉得没错的.

飘过~~
2008-10-04 12:14
球球
Rank: 6Rank: 6
等 级:贵宾
威 望:27
帖 子:1146
专家分:265
注 册:2005-11-28
收藏
得分:0 
public bool Delete(clsIndexTree)//这里具体的是你的(实体 实例名)        
        {
            int rowsAffected;
            SqlParameter[] parameters = {
                    new SqlParameter("@ID", SqlDbType.BigInt,8),   
                    new SqlParameter("@Title", SqlDbType.VarChar,50),
                };
            parameters[0].Value = clsIndexTree.ID;
            parameters[1].Value = clsIndexTree.Title;
            DbHelperSQL.RunProcedure("IndexTree_Delete", parameters, out rowsAffected);
        }
private void btndeleteNode_Click(object sender, EventArgs e)
        {
            clsIndexTree.ID = int.Parse(txtNodeId.Text);
            clsIndexTree.Title = txtNodeName.Text;
            clsIndexTree.Delete(clsIndexTree)
            MessageBox.Show("编辑成功", "提示信息", MessageBoxButtons.OK, MessageBoxIcon.Information);

        }
如果clsIndexTree是实体对象,就用传对象的方式来传参,数据库存储过程里的输入参数应该有两个:ID,Title
clsIndexTree.Delete最好是返回bool值,通过判断来确实是否编辑成功。

[[it] 本帖最后由 球球 于 2008-10-4 12:58 编辑 [/it]]

好累
2008-10-04 12:55
wangzhen_andy
Rank: 2
来 自:广州
等 级:论坛游民
帖 子:39
专家分:25
注 册:2008-9-22
收藏
得分:0 
谢谢各位的大力支持,我会继续努力的,将代码进行到底!!
2008-10-04 13:13
wangzhen_andy
Rank: 2
来 自:广州
等 级:论坛游民
帖 子:39
专家分:25
注 册:2008-9-22
收藏
得分:0 
回复bygg:我把Title相关的那两个语句注释掉了,运行出现错误,显示
未处理的“System.Exception”类型的异常出现在 SubwayPreplan.exe 中。

其他信息: @ID 不是过程 IndexTree_Delete 的参数。
想不明白了,我看的例程里的delete函数都是这样子写的。用DBHelper生成的那些代码不都是一样的吗?

回复球球:我按照您的意思修改了程序,但是结果还是出错,错误信息和原来的一样,参数过多。

其实我也是拿着师兄的程序,帮忙修改,他form里面的delete没有实现,我帮忙写的,真的不行就开学再去问问师兄了。。。。
2008-10-04 13:40
球球
Rank: 6Rank: 6
等 级:贵宾
威 望:27
帖 子:1146
专家分:265
注 册:2005-11-28
收藏
得分:0 
编辑肯定是要传Title的,不然光传ID能编辑什么呢?你看下你的存储过程里是怎么写的?存储过程里应该有两个输入参数才对,通过ID来修改Title。

好累
2008-10-04 14:23
球球
Rank: 6Rank: 6
等 级:贵宾
威 望:27
帖 子:1146
专家分:265
注 册:2005-11-28
收藏
得分:0 
问一下你这里的存储过程IndexTree_Delete 是操作什么功能的?是删除一条信息吗?

好累
2008-10-04 14:28
球球
Rank: 6Rank: 6
等 级:贵宾
威 望:27
帖 子:1146
专家分:265
注 册:2005-11-28
收藏
得分:0 
把你的IndexTree_Delete存储过程贴上来就知道是哪里的原因了。
根据你的DbHelperSQL.RunProcedure("IndexTree_Delete", parameters, out rowsAffected);
应该把连接数据库的字符串单独提取出来传入到方法里:
DbHelperSQL.RunProcedure(DbHelperSQL.StrConn, "IndexTree_Delete", parameters, out rowsAffected);
DbHelperSQL.StrConn连接在方法里用完之后立即关闭,不知道你的DbHelperSQL类是如何写的?
可能你的DbHelperSQL已经做了处理,我这里只是建议一下。

好累
2008-10-04 14:40
快速回复:(出错求救)为过程或函数 IndexTree_Delete 指定的参数太多
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.092029 second(s), 7 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved