IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

C# Discussion :

Recherche dans datatable


Sujet :

C#

  1. #1
    Nouveau membre du Club
    Profil pro
    Étudiant
    Inscrit en
    Mai 2007
    Messages
    37
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mai 2007
    Messages : 37
    Points : 27
    Points
    27
    Par défaut Recherche dans datatable
    Bonjour,
    Je recherche les heures qui sont dans un datatable pour faire un test.
    Mais cela ne fonctionne pas.
    Je souhaite faire : un teste l'heure 1 avec leur de mon systeme, cela est bon si l'heure systeme est plus grand que celle ci. Je refait un autre test pour voir si l'heure du systeme est plus grand que l'heure 2
    Puis si cela est correcte j'affecte l'heure dans a.

    Si l'un des 2 testes n'est pas bon, il fait augmenté de 1 le comteur j et il recommence le teste.

    Voici mon essais.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
     
    for (int j = 0; j < OracleDS.Tables["tab_Horaire"].Rows.Count;j=j+0 )
                {
                    if (Int32.Parse(OracleDS.Tables["tab_Horaire"].Rows[j].ItemArray.GetValue(3).ToString()) <Int32.Parse(DateTime.Today.Hour.ToString()))
                    {
                        if (Convert.ToInt32(OracleDS.Tables["tab_Horaire"].Rows[j].ItemArray.GetValue(4)) > DateTime.Today.Hour)
                        {
                            a = Convert.ToDateTime(OracleDS.Tables["tab_Horaire"].Rows[j].ItemArray.GetValue(3));
                        }
                        else j++;
                    }
                    else j++;
                }
    PS j'utilise Visual c#

  2. #2
    Membre habitué Avatar de mr.net
    Profil pro
    Développeur informatique
    Inscrit en
    Février 2007
    Messages
    152
    Détails du profil
    Informations personnelles :
    Localisation : Sénégal

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Février 2007
    Messages : 152
    Points : 150
    Points
    150
    Par défaut
    Pas claire ce ke tu veu faire
    Tout simple et bien simple

  3. #3
    Membre éclairé
    Profil pro
    Inscrit en
    Septembre 2003
    Messages
    652
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2003
    Messages : 652
    Points : 730
    Points
    730
    Par défaut
    Mouais...
    Grosso modo, en plus clair et sans boucle infinie, ton code actuel fait ça :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    DataTable table = OracleDS.Tables[ "tab_Horaire" ];
    int currentHour = DateTime.Now.Hour;
     
    foreach ( DataRow row in table.Rows )
    {
    	int firstHour = Convert.ToInt32( row[ 3 ] );
    	int secondHour = Convert.ToInt32( row[ 4 ] );
    	if ( firstHour < currentHour && secondHour > currentHour )
    	{
    		a = Convert.ToDateTime( firstHour );
    	}
    }
    Premier problème, la comparaison ne correspond pas à ce que tu décris.
    Deuxième problème, tu fais un Convert.ToDateTime d'une valeur qui semble être un entier. Ou alors il y a des DateTime dans la table et c'est tout le reste qui est mauvais.
    Troisième problème... ben... ce que tu essayes de faire est en effet pas clair du tout. Là il n'y a plus de boucle infinie, mais ça écrase 'a' à chaque ligne qui passe le test. Pas super utile non plus.

    (cela dit, le j=j+0 est joli. j'avais pas encore vu ça :)
    Be wary of strong drink.
    It can make you shoot at tax collectors, and miss.

  4. #4
    Nouveau membre du Club
    Profil pro
    Étudiant
    Inscrit en
    Mai 2007
    Messages
    37
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mai 2007
    Messages : 37
    Points : 27
    Points
    27
    Par défaut
    Merci à vous deux.

    Ben voila j'ai une table avec les horaires et des dates. J'arrive a mettre dans le DataTable les lignes qui ont les valeurs de la date qui sont inferieur ou égale à la date courante.
    A partir de cela je souhaite prendre les valeurs d'une ligne et pour y arriver je doit voir si l'heure courante est compris entre firstHour et secondHour.
    Si je trouve la bonne ligne (date<courant et firstHour<heure courante et second secondHour >heure courante ), alors la premiere heure est mise dans une variable que j'avais appelé a.

    Nota pour reprendre les variables de maniak, firstHour, secondHour, et a sont dans la table des dates.

Discussions similaires

  1. recherche dans datatable
    Par jockerse dans le forum JSF
    Réponses: 0
    Dernier message: 09/04/2015, 22h47
  2. Recherche dans une Datatable
    Par Au2laDeNosReves dans le forum VB.NET
    Réponses: 3
    Dernier message: 15/07/2011, 13h44
  3. C# - Recherche dans une DataTable
    Par dj-julio dans le forum C#
    Réponses: 3
    Dernier message: 03/12/2008, 16h02
  4. Rechercher dans toutes les colonnes d'un datatable
    Par timotep dans le forum Windows Forms
    Réponses: 3
    Dernier message: 15/11/2007, 16h21
  5. recherche dans un document xml via DOM
    Par ndoye_zaff dans le forum APIs
    Réponses: 5
    Dernier message: 11/06/2003, 14h44

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo