2009-01-04 12 views
1

J'ai vu d'autres sujets traitant de cette erreur mais aucun qui semble correspondre à ma situation. Tout d'abord, mon code fonctionne parfaitement lorsque je l'exécute localement.Procédure stockée mySQL avec un problème de connecteur .NET

Mais quand je le télécharger sur le serveur, je reçois l'erreur: « ? PuserName »

Paramètre introuvable dans la collection.

Voici le code 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; 
     } 

code 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; 
+1

J'ai eu le même problème deux fois. Une solution consistait à supprimer le projet du serveur Web et à le publier à nouveau. La deuxième solution consistait à supprimer tous les répertoires bin de formulaire et à les reconstruire. –

Répondre

1

avéré Web Developer Microsoft Visual n'a pas été correctement ftp-ing mes fichiers au cours de la méthode "publier". J'ai téléchargé FileZilla et ftp-ed les fichiers à nouveau et cela a fonctionné ....