Pregunta

He visto otros temas relacionados con este error, pero ninguno que parezca corresponder a mi situación.

En primer lugar, mi código funciona completamente bien cuando lo ejecuto localmente.

Pero cuando lo subo al servidor, aparece el error:

El parámetro '? PuserName' no se encuentra en la colección.

Aquí está el código C #:

public DataSet GetEmployeeByUsername(string username)
        {
            string proc = "schema.GetEmployeeByUsername";
            MySqlParameter[] args = new MySqlParameter[1];
            args[0] = new MySqlParameter("?PuserName", MySqlDbType.VarChar);
            args[0].Value = username;
            return SQLDatasetCall(args, proc);
        }

 protected DataSet SQLDatasetCall(MySqlParameter[] sqlparams, string call)
        {
            string myConString = ConfigurationManager.AppSettings["mySql"];
            MySqlConnection MyConnection = new MySqlConnection(myConString);
            MySqlDataAdapter adapter = new MySqlDataAdapter();
            MyConnection.Open();
            MySqlCommand command = new MySqlCommand(call, MyConnection);
            command.CommandType = CommandType.StoredProcedure;
            if (sqlparams != null)
            {
                foreach (MySqlParameter param in sqlparams)
                {
                    command.Parameters.Add(param);
                }
            }
            DataSet ds = new DataSet();
            adapter.SelectCommand = command;
            adapter.Fill(ds);
            adapter.Dispose();
            MyConnection.Close();
            return ds;
        }

código SQL:

delimiter |
create procedure GetEmployeeByUsername(in PuserName varchar(45))
begin
  select id,
      firstName,
      lastName,
      phone,
      address1,
      address2,
      city,
      state,
      zip,
      username,
      password,
      emptypeid
  from schema.tblemployees
  where
      username=PuserName;
end |
delimiter;
¿Fue útil?

Solución

resultó que Microsoft Visual Web Developer no estaba correctamente ejecutando mis archivos durante la " publicación " método. Descargué filezilla y ftp-ed los archivos de nuevo y funcionó ...

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top