| 编程中国 | 业界新闻 | 技术文章 | 视频教程 | 下载频道 | 程序源码 | 个人空间 | 编程论坛
学习型 ASP/PHP/ASP.NET 主机 35元/年全能ASP/PHP/ASP.NET主机,支持月付专业 MSSQL 数据库空间,支持月付专业 MySQL 数据库空间,支持月付
赛孚耐:软件保护加密专家身份认证令牌USB KEY  
共有 525 人关注过本帖
标题:[求助]设置SqlParameter到SqlCommand时提示错误"另一个 SqlParameterCollec ...
收藏  订阅  推荐  打印 
jclman
Rank: 2
等级:注册会员
帖子:82
积分:936
注册:2007-3-10
[求助]设置SqlParameter到SqlCommand时提示错误"另一个 SqlParameterCollection 中


先排除存储过程的问题,已测试,没有问题!

这是
public SqlParameter[] ProduceSuggestParameters
{
get
{
SqlParameter[] parms = new SqlParameter[8];

//@MRPCalID varchar(25),--MRP运算编码
//@MPSID varchar(25),--主生产计划编码
//@ProductID varchar(50),--产品型号
//@ProduceNum decimal(12,2),--计划生产数量
//@PlanStartDate smalldatetime,--计划生产日期
//@PlanFinishDate smalldatetime,--计划完工日期
//@IsAdvWasteRate bit = 1--是否考虑报废率
//@IsAdvProduceKalendar bit = 1--是否考虑车间生产工作日

parms[0] = new SqlParameter(P_MRPCalID, SqlDbType.VarChar, 25);
parms[0].Value = this.MRPCalID;

parms[1] = new SqlParameter(P_MPSID, SqlDbType.VarChar, 25);

parms[2] = new SqlParameter(P_ProductID, SqlDbType.VarChar, 50);
parms[3] = new SqlParameter(P_ProduceNum, SqlDbType.Decimal);

parms[4] = new SqlParameter(P_PlanStartDate, SqlDbType.SmallDateTime);
parms[5] = new SqlParameter(P_PlanFinishDate, SqlDbType.SmallDateTime);

parms[6] = new SqlParameter(P_IsAdvWasteRate, SqlDbType.Bit);
parms[6].Value = this.MRPCalOptions.IsAdvWasteRate;

parms[7] = new SqlParameter(P_IsAdvProduceKalendar, SqlDbType.Bit);
parms[7].Value = this.MRPCalOptions.IsAdvProduceKalendar;

return parms;
}
}

调用过程:
waitDialog.SetStatusInfo(string.Format("开始创建产品:{0}的生产建议...", ProductID));
cmd = CommandBase.CreateCommand(CreateProduceSP);
using (cmd)
{
cmd.CommandType = CommandType.StoredProcedure;
//cmd.Parameters.Clear();
cmd.Parameters.AddRange(ProduceSuggestParms);//生产建议参数
cmd.Parameters[P_MPSID].Value = MPSID;

cmd.Parameters[P_ProductID].Value = ProductID;
cmd.Parameters[P_ProduceNum].Value = MPSNum;

cmd.Parameters[P_PlanStartDate].Value = dtMPS.Rows[i][PlanStartDate];
cmd.Parameters[P_PlanFinishDate].Value = dtMPS.Rows[i][PlanFinishDate];

int count = cmd.ExecuteNonQuery();

////到这里出现错误:"另一个 SqlParameterCollection 中已包含 SqlParameter。",但检测过都没问题啊!

waitDialog.SetStatusInfo("共创建了 " + count.ToString() + " 条生产加工建议 + 警告信息!");
}

[此贴子已经被作者于2007-6-2 19:51:35编辑过]

搜索更多相关主题的帖子: SqlCommand  SqlParameter  提示  
2007-6-2 15:48
skyland84
Rank: 4
等级:高级会员
威望:4
帖子:543
积分:5532
注册:2006-10-9

实在是看不出来哪里出问题了~!

是不是第一次执行还可以~!第二次就出问题了?

看你那里有个CLEAR 应该你也调试过了~!
等别人来看看~!
这个 怎么解决~

我看不出来了~!

决定人生~
2007-6-2 17:18
jclman
Rank: 2
等级:注册会员
帖子:82
积分:936
注册:2007-3-10

一直是那样
我在网上也搜了下相关的内容
没见到什么解决的方法

不要说不行,要知道我们都能够!!!欢迎光临我的博客http://blog.sina.com.cn/jclman
2007-6-2 18:43
关于我们 | 广告合作 | 编程中国 | 清除Cookies | Archiver | WAP | TOP

编程中国 版权所有,并保留所有权利。鲁ICP备08000592号
Powered by Discuz, Processed in 0.059825 second(s), 9 queries.
Copyright©2004-2008, BCCN.NET, All Rights Reserved