Woslike
Messages postés46Date d'inscriptionmercredi 25 juillet 2012StatutMembreDernière intervention12 septembre 2013
-
27 juil. 2012 à 14:25
krimog
Messages postés1860Date d'inscriptionlundi 28 novembre 2005StatutMembreDernière intervention14 février 2015
-
31 juil. 2012 à 16:21
Bonjour,
J'ai un petit ( énorme ) soucis...
Je travail sur la création d'équipe de numéro 0 à 999.
Pour cela j'ai créé une table Equipe avec comme colonne "IDeqp" "Nomeqp" "Nom1" "Nom2" "Nom3" "Nom4"
A partir du programme j'arrive facilement a ajouter ou supprimer une équipe...
Mon problème est que lorsque j'essaye de ranger les équipes cela ne fonctionne pas et impossible de les mettre dans l'ordre...
Quelqu'un aurai une idée de comment trier toute la table de 0 à 999 ?
Voici le code de TRI que j'utilise :
public bool Reindex()
{
try
{
SqlCeConnection SQLConn new SqlCeConnection("Data source " + FormPass.pathData);
SqlCeCommand command;
SQLConn.Open();
string cmd = "SELECT * FROM Equipes ORDER BY IDeqp ASC";
command = new SqlCeCommand(cmd,SQLConn);
command.ExecuteNonQuery();
command.Dispose();
SQLConn.Close();
return true;
}
catch (Exception exe)
{
MessageBox.Show("Base de donnée introuvable. \n Erreur : " + exe);
return false;
}
}
PS : Pour information, en mode débug, le "r" est a "-1"...
Woslike
Messages postés46Date d'inscriptionmercredi 25 juillet 2012StatutMembreDernière intervention12 septembre 20131 30 juil. 2012 à 11:00
Bien après avoir cherché, le tri ce fait... mais il n'es pas enregistrer !
C'est a dire que la commande est bien prise en compte, mais lorsqu'on ferme la table, sa ce remet en désordre...
J'aimerai savoir comment enregistrer le ORDER BY !
cs_jopop
Messages postés1540Date d'inscriptionlundi 26 mai 2003StatutMembreDernière intervention 1 août 201312 31 juil. 2012 à 09:53
Salut,
beaucoup de chose à redire mais je vais faire simple : un "ORDER BY" ne s'enregistre pas. Soit tu utilises ce "ORDER BY" dans ta requête pour avoir un ordre précis, soit les enregistrements sont retournés dans l'ordre d'insertion. Et d'ailleurs "enregistrer un ORDER BY" n'a pas vraiment de sens ni d'utilité. Quel était ton objectif ?
Vous n’avez pas trouvé la réponse que vous recherchez ?
krimog
Messages postés1860Date d'inscriptionlundi 28 novembre 2005StatutMembreDernière intervention14 février 201549 31 juil. 2012 à 16:21
Salut
Lorsque tu utilises une base de données SQL, tu utilises ce qu'on appelle un SGBD (SQL Server, MySQL, SQLite, Oracle...). SGBD signifie "Système de Gestion de Base de Données". Comme son nom l'indique, c'est lui qui gère ta base. C'est lui, par exemple, qui va définir dans quel ordre son enregistrés les éléments, et ce comme ça l'arrange.
La seule action que tu peux faire qui va influer sur l'ordre des données dans la base, c'est définir un ou plusieurs index, ce qui va aider les tris et les filtres sur certains champs (et encore, ce ne sera pas ordonné comme tu le souhaites, mais comme le SGBD le souhaite !)
Ensuite, lorsque tu fais une requête SELECT sur une table, tu dois forcément définir un ORDER BY, sauf dans 3 cas :
- Quand il n'y a qu'un seul résultat
- Quand tu ne t'intéresse pas du tout à l'ordre des données
- Quand tu souhaites gérer le tri du côté du client
Tu ne peux nullement garantir l'ordre dans lequel arriveront les données sans un ORDER BY explicite.
Krimog : while (!(succeed = try())) ; - Nous ne sommes pas des décodeurs ambulants. Le style SMS est prohibé. -