Bonjour,

J'utilise la version 5 de MySQL, j'essais de créer une procédure stocker qui me retour la liste des utilisateur classé selon un paramètre :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
 
DELIMITER $$
DROP PROCEDURE IF EXISTS `MyWebSite`.`UsersList` $$
CREATE PROCEDURE `UsersList`( IN sorder varchar(250) )
BEGIN
      SELECT u_ID, u_AccountName, u_FirstName, u_LastName, u_Email, u_Administrator, u_Disabled
      FROM Users
      ORDER BY sorder;
END $$
DELIMITER ;
Je ne sais pas si le type varchar(250) est correct pour ce type d'utilisation, car après le ORDER BY le nom des champs ne doit pas être entre "".

Je sais que ce n'est pas le bon forum mais j'utilise aussi MySqlConnector .Net, voilà comment je procède :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
 
conn = new MySql.Data.MySqlClient.MySqlConnection("..." );
conn.Open();
comm = new MySql.Data.MySqlClient.MySqlCommand();
comm.Connection = conn;
comm.CommandText = "UsersList";
comm.CommandType = System.Data.CommandType.StoredProcedure;
comm.Parameters.Add("?sorder", "u_FirstName, u_LastName ASC");
comm.Parameters["?sorder"].DbType = System.Data.DbType.Object;
comm.Parameters["?sorder"].Direction = ParameterDirection.Input;
System.Text.StringBuilder sb = new System.Text.StringBuilder();
idr = comm.ExecuteReader();
Cela me retourne la liste de mes utilisateurs mais sans L'ORDER que j'ai demandé.
Merci à tous.