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

avec Java Discussion :

Compteur d'entrées SQL


Sujet :

avec Java

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre habitué
    Homme Profil pro
    Webmaster
    Inscrit en
    Octobre 2014
    Messages
    12
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Suisse

    Informations professionnelles :
    Activité : Webmaster

    Informations forums :
    Inscription : Octobre 2014
    Messages : 12
    Par défaut Compteur d'entrées SQL
    Bonjour à tous!

    J'ai un petit challenge avec un code que j'essaye de faire fonctionner. Ce dernier est censé me retourner le nombre d'entrées de la base de données SQL, mais je n'arrive pas à le faire fonctionner.

    Il y a quelque chose qui m'échappe, pourriez-vous m'apporter votre aide, svp?

    (Je voudrais pouvoir appeler cette fonction dans un autre fichier java appelé ValiderJoueurs)


    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    package tab.sqltesting.com.myapplication;
    
    import android.app.ListActivity;
    import android.database.Cursor;
    import android.database.sqlite.SQLiteDatabase;
    import android.widget.SimpleCursorAdapter;
    
    public class Example extends ValiderJoueurs {
    
        private TaskDBHelper helper;
    
            public int getContactsCount() {
    
                helper = new TaskDBHelper(Example.this);
                SQLiteDatabase db = helper.getReadableDatabase();
    
                String countQuery = "SELECT  * FROM " + Playas.TABLE;
    
                Cursor cursor = db.rawQuery(countQuery, null);
                cursor.close();
    
                // return count
                return cursor.getCount();
            }
    
    
    
            public static void main(String[] args) {
                int a= getContactsCount();
                System.out.println(a);
            }
        }
    ...me gratifie de l'erreur suivante:
    error: non-static method getContactsCount() cannot be referenced from a static context
    Je sais que c'est une question très basique, mais même après cogitation de ma part, je n'ai pas réussi à trouver la solution

    En vous remerciant d'avance!

    Battista

  2. #2
    Membre éclairé
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Septembre 2009
    Messages
    30
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Sarthe (Pays de la Loire)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Septembre 2009
    Messages : 30
    Par défaut
    Salut,

    Depuis une méthode statique, tu ne peux pas appeler une méthode d'instance directement.
    Il faut instancier ton objet, puis appeler la méthode sur cette instance.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
    public static void main(String[] args) {
                Example example = new Example();
                int a= example.getContactsCount();
                System.out.println(a);
    }
    Flo.

  3. #3
    Modérateur
    Avatar de joel.drigo
    Homme Profil pro
    Ingénieur R&D - Développeur Java
    Inscrit en
    Septembre 2009
    Messages
    12 430
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 55
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Ingénieur R&D - Développeur Java
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Septembre 2009
    Messages : 12 430
    Billets dans le blog
    2
    Par défaut
    Salut,

    A noter qu'on peut compter directement en SQL : SELECT COUNT(*) FROM table. Ça évite notamment de charger toute la table en mémoire.
    L'expression "ça marche pas" ne veut rien dire. Indiquez l'erreur, et/ou les comportements attendus et obtenus, et donnez un Exemple Complet Minimal qui permet de reproduire le problème.
    La plupart des réponses à vos questions sont déjà dans les FAQs ou les Tutoriels, ou peut-être dans une autre discussion : utilisez la recherche interne.
    Des questions sur Java : consultez le Forum Java. Des questions sur l'EDI Eclipse ou la plateforme Eclipse RCP : consultez le Forum Eclipse.
    Une question correctement posée et rédigée et vous aurez plus de chances de réponses adaptées et rapides.
    N'oubliez pas de mettre vos extraits de code entre balises CODE (Voir Mode d'emploi de l'éditeur de messages).
    Nouveau sur le forum ? Consultez Les Règles du Club.

  4. #4
    Membre habitué
    Homme Profil pro
    Webmaster
    Inscrit en
    Octobre 2014
    Messages
    12
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Suisse

    Informations professionnelles :
    Activité : Webmaster

    Informations forums :
    Inscription : Octobre 2014
    Messages : 12
    Par défaut
    A noter qu'on peut compter directement en SQL : SELECT COUNT(*) FROM table. Ça évite notamment de charger toute la table en mémoire


    Merci beaucoup pour vos réponses ! Il manquait une petite subtilité!

    Puis-je poser encore une question? Je souhaiterais afficher ce résultat dans un fichier .xml un peu comme suit:

    --------------------------
    Nombre total d'entrées: 12
    --------------------------

    Comment passer le a de System.out.println(a), et surtout à quoi le passer?

    Je me suis dit que je pouvais utiliser le a comme id d'un textview, mais cela ne marche pas

    Pourriez-vous m'aider encore une fois, svp?

    Je vous remercie énormément pour vos éclairages!

  5. #5
    Modérateur
    Avatar de joel.drigo
    Homme Profil pro
    Ingénieur R&D - Développeur Java
    Inscrit en
    Septembre 2009
    Messages
    12 430
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 55
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Ingénieur R&D - Développeur Java
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Septembre 2009
    Messages : 12 430
    Billets dans le blog
    2
    Par défaut
    Citation Envoyé par Baptiste457 Voir le message

    --------------------------
    Nombre total d'entrées: 12
    --------------------------
    Mais ce n'est pas du xml ça !

    Code xml : Sélectionner tout - Visualiser dans une fenêtre à part
    <total valeur="12"/>

    ou


    serait du xml.

    Pour écrire un xml aussi simple, tu peux à la limite générer un fichier texte et écrire ça directement dedans. Si le xml est plus complexe, avec plus d'informations, il vaut mieux utiliser une API dédiée pour ça. Il en existe directement dans Java, et il en existe des externes. DOM2 par exemple, est l'une des plus simple à utiliser : tu trouveras un tutoriel pour JDOM sur le site Developpez. Regarde également la FAQ ou les cours pour apprendre Java. Ou encore cette autre méthode de création de xml utilisant la techique appelée StAX.

    Il existe peut-être des API spécifiques pour Android (y compris interne), mais je n'y connais rien, donc je ne peux pas de dire.
    L'expression "ça marche pas" ne veut rien dire. Indiquez l'erreur, et/ou les comportements attendus et obtenus, et donnez un Exemple Complet Minimal qui permet de reproduire le problème.
    La plupart des réponses à vos questions sont déjà dans les FAQs ou les Tutoriels, ou peut-être dans une autre discussion : utilisez la recherche interne.
    Des questions sur Java : consultez le Forum Java. Des questions sur l'EDI Eclipse ou la plateforme Eclipse RCP : consultez le Forum Eclipse.
    Une question correctement posée et rédigée et vous aurez plus de chances de réponses adaptées et rapides.
    N'oubliez pas de mettre vos extraits de code entre balises CODE (Voir Mode d'emploi de l'éditeur de messages).
    Nouveau sur le forum ? Consultez Les Règles du Club.

  6. #6
    Membre habitué
    Homme Profil pro
    Webmaster
    Inscrit en
    Octobre 2014
    Messages
    12
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Suisse

    Informations professionnelles :
    Activité : Webmaster

    Informations forums :
    Inscription : Octobre 2014
    Messages : 12
    Par défaut
    D'accord!

    En fait -mea culpa- j'utilise ce code dans l'environnement Android Studio, et je ne sais pas comment appeler cette valeur dans le fichier xml lié ma classe (mon fichier java, linké au xml)

    Un peu comme:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
        <TextView
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:id="@+id/a" />
    Mais je viens de me rendre compte que System.out.println(a) est utilisé pour printer dans la console, du coup je pense faire fausse route..

    Des commentaires ?!

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Réponses: 21
    Dernier message: 14/04/2006, 08h30
  2. Probleme de variable entre SQL et Php
    Par copin dans le forum Langage SQL
    Réponses: 6
    Dernier message: 17/06/2005, 10h58
  3. Difference entre Sql server edition Standard et Developer
    Par tribune dans le forum MS SQL Server
    Réponses: 2
    Dernier message: 30/05/2005, 08h29
  4. Réponses: 6
    Dernier message: 24/12/2004, 16h46
  5. compatibilité entre sql server 7 et analysis service sql2000
    Par jeremie dans le forum MS SQL Server
    Réponses: 2
    Dernier message: 29/03/2004, 15h08

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