事务处理失败! 变量名 '@UserCode' 已声明。变量名在查询批次或存储过程内部必须唯一

 try
            {
                for (int i = 0; i < str.Length; i++)
                {
                    if (str[i] == "" || str[i] == null)
                    {
                        continue;
                    }
                    myComm.CommandText = str[i];

                    if (pmts != null)
                    {
                        foreach (SqlParameter p in Get_PmtsCopy(pmts))
                        {
                            if (p != null)
                            {
                                myComm.Parameters.Add(p);
                            }
                        }
                    }
                    myComm.ExecuteNonQuery();
                   
                }
                myTran.Commit();
                return true;

mycomm参数用完必须给他清除,因此在myComm.ExecuteNonQuery()后面添加 myComm.Parameters.Clear(),问题解决!

原文地址:https://www.cnblogs.com/sgmcumt/p/6428429.html