如何解决SqlParameter已经包含在另一个SqlParameterCollection中。 [英] How to solve The SqlParameter is already contained by another SqlParameterCollection.

查看:84
本文介绍了如何解决SqlParameter已经包含在另一个SqlParameterCollection中。的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

大家好,



我正在使用3轮胎架构开发Web应用程序。但我在将值插入表时得到了错误。

i有2个sql参数参数[1] = @ pageID

参数[2] = @ userID

我的代码在DAL中这样的代码



Hi All,

I am using 3-tire architecture for Developing web Application. but i got the Error at insert the values into table.
i have 2 sql parameters parameter[1]=@pageID
parameter[2]=@userID
my code like this in DAL

public void InsertIntendedUsersPerPages_DAL(Array UsersList, int PageID)
{
    string storedProcedureName = "USP_InsertIntendedUsersPerPages";
    SqlParameter[] parameters = new SqlParameter[2];
    parameters[0] = new SqlParameter("@PageID", SqlDbType.Int);
    parameters[0].Value = PageID;
    for (int k = 0; k < UsersList.Length; k++)    {
        parameters[1] = new SqlParameter("@UserID", SqlDbType.Int);
        parameters[1].Value = UsersList.GetValue(k);
        //cmd1.Parameters.Add("@empid", SqlDbType.BigInt);
        try
        {
             //DataSet result = new DataSet();
            //result = SqlHelper.ExecuteDataset(con, CommandType.StoredProcedure, storedProcedureName, parameters);
         int   ID = SqlHelper.ExecuteNonQuery(con, CommandType.StoredProcedure, storedProcedureName, parameters);
}
      catch
        {
        }
    }

}





但我得到的错误是

SqlParameter已经包含在另一个SqlParameterCollection中。



如何解决我的错误

请帮帮我



but i got the error is
The SqlParameter is already contained by another SqlParameterCollection.

how to solve my error
please help me

推荐答案

Hello Santosh,



假设您要为每个用户执行存储过程,请尝试更改代码,如下所示。

Hello Santosh,

Assuming that you want to execute stored procedure for every user, try changing the code as shown below.
public void InsertIntendedUsersPerPages_DAL(Array UsersList, int PageID)
{
    if (null == UsersList || UsersList.Length < 1) return;

    SqlParameter[] parameters;
    string storedProcedureName = "USP_InsertIntendedUsersPerPages";
    // Run procedure for every user
    for (int k = 0; k < UsersList.Length; k++) {
        parameters = new SqlParameter[UsersList.Length + 1];
        parameters[0] = new SqlParameter("@PageID", SqlDbType.Int);
        parameters[0].Value = PageID;
        parameters[1] = new SqlParameter("@UserID", SqlDbType.Int);
        parameters[1].Value = UsersList.GetValue(k);

        try {
            int ID = SqlHelper.ExecuteNonQuery(con, CommandType.StoredProcedure, storedProcedureName, parameters);
        }
        catch
        {
        }
    }
}



问候,


Regards,


这篇关于如何解决SqlParameter已经包含在另一个SqlParameterCollection中。的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
相关文章
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆