如:
 myCmd.CommandType =  CommandType.Text
 myCmd.Parameters.AddRange(SqlPara) '添加sqlParaMeter'以下执行一个数据库的操作
myCmd.CommandText=“含有 sqlParaMeter的SQL语句"
dim str1 as string = myCmd.ExecuteScalar'用相同的  sqlParaMeter在执行另一个数据库操作
 myCmd.CommandText = “含有 sqlParaMeter的另一个SQL语句"
 dim str2 as string = myCmd.ExecuteScalar现在的问题是,总出现一下的错误:
'另一个 SqlParameterCollection 中已包含 SqlParameter。'

解决方案 »

  1.   

    每一个SqlParameter都声明为局部的
    myCmd.Parameters.Clear();
    StrSql = "";
                SqlParameter a= new SqlParameter("@Id", SqlDbType.NVarChar, 36);
                a.Value = Convert.ToString(id);
                SqlParameter[] arrPars ={ id}
      

  2.   

    你的myCmd是同一个,另起一个command
      

  3.   

    以上2位的方法我都是过,但还是这样。
    似乎在同一个过程里,同一个 sqlParaMeter被重复使用都会提示这样的信息。即使提示这样的信息,但不影响程序的执行.主要代码如以下所示,出现异常的时候只是“alert()",并没有"exit sub".
    这是一个userControl 里的部分代码,AddRange(SqlPara)都是动态赋值的。
    try
     myCmd.CommandType = CommandType.Text
     myCmd.Parameters.AddRange(SqlPara) '添加sqlParaMeter'以下执行一个数据库的操作
    myCmd.CommandText=“含有 sqlParaMeter的SQL语句"
    dim str1 as string = myCmd.ExecuteScalar'用相同的 sqlParaMeter在执行另一个数据库操作
     myCmd.CommandText = “含有 sqlParaMeter的另一个SQL语句"
     dim str2 as string = myCmd.ExecuteScalar
     Catch ex As Exception
        ScriptManager.RegisterStartupScript(Page, GetType(String), "bindDataControlError", "alert('" + ex.Message + "');", True)
                Exit Sub
            Finally
                myConn.Close()
            End Try
      

  4.   

    真是吐血,原来是页面上2个相同的userControl同时加载才会造成这样的错误