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 :
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 "".
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 sais que ce n'est pas le bon forum mais j'utilise aussi MySqlConnector .Net, voilà comment je procède :
Cela me retourne la liste de mes utilisateurs mais sans L'ORDER que j'ai demandé.
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();
Merci à tous.
Partager