SqlParameter 已包含在另一个 SqlParameterCollection.3 中

The SqlParameter is already contained by another SqlParameterCollection.3

这是我的第一个问题:SqlParameter 已包含在另一个 SqlParameterCollection 中。 SqlDataReader rdr[0] 与对象给我带来 table 列值。

    public ArrayList[] GetInfo(string sqlCommand, SqlParameter sqlParameter)
    {
        ArrayList[] drawingInfo = new ArrayList[7];
        drawingInfo[0] = new ArrayList();
        drawingInfo[1] = new ArrayList();
        drawingInfo[2] = new ArrayList();
        drawingInfo[3] = new ArrayList();
        drawingInfo[4] = new ArrayList();
        drawingInfo[5] = new ArrayList();
        drawingInfo[6] = new ArrayList();
        using (SqlConnection con = new SqlConnection("connectionAdres"))
        {
            SqlCommand cmd = new SqlCommand();
            cmd.Connection = con;
            cmd.CommandText = sqlCommand;
            cmd.CommandType = CommandType.StoredProcedure;
            cmd.Parameters.Add(sqlParameter);
            con.Open();
            SqlDataReader rdr = cmd.ExecuteReader();

            while (rdr.Read())
            {
                drawingInfo[0].Add(rdr[0]);
                drawingInfo[1].Add(rdr[1]);
                drawingInfo[2].Add(rdr[2]);
                drawingInfo[3].Add(rdr[3]);
                drawingInfo[4].Add(rdr[4]);
                drawingInfo[5].Add(rdr[5]);
                drawingInfo[6].Add(rdr[6]);
            }
            return drawingInfo;
        }
    }

您不能使用同一个对象作为参数调用两次 GetInfo 方法。每次只将值传递给该方法并构建 SqlParameter。与使用 SqlCommand 相同。