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 :

probleme classe arraylist


Sujet :

C#

  1. #1
    Membre averti
    Profil pro
    Inscrit en
    Mai 2007
    Messages
    28
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2007
    Messages : 28
    Par défaut probleme classe arraylist
    bonsoir a tous,

    j'ai cree une classe me permettant de creer une edition pdf , afin de remplir ce pdf des donnees dont j'ai besoin j'ai cree deux autres classes dont une avec une methode fonction liste qui renvoie un arraylist et l'autre qui me recupere des attributs en fonction de la cle primaire.

    VOICI L'ERREUR QUE J'AI:
    ArrayList AlistClient = test.liste("client","id_client");

    Message d'erreur du compilateur: CS0117: 'System.Collections.ArrayList' ne contient pas de définition pour 'liste'

    Si quelqu'un peut m'aider
    merci d'avance..

  2. #2
    Membre Expert
    Profil pro
    Inscrit en
    Décembre 2004
    Messages
    2 210
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2004
    Messages : 2 210
    Par défaut
    Dans ton exemple, j'imagine que 'test' est un ArrayList.

    J'avoue, je n'ai pas tellement compris ce que tu veux faire, mais comme tu l'as fait, il faut que ta méthode liste(string param1, string param2) soit une méthode d'extension de la classe ArraList.
    cf. http://msdn2.microsoft.com/fr-fr/library/bb383977.aspx

  3. #3
    Rédacteur
    Avatar de Thomas Lebrun
    Profil pro
    Inscrit en
    Octobre 2002
    Messages
    9 161
    Détails du profil
    Informations personnelles :
    Âge : 43
    Localisation : France

    Informations forums :
    Inscription : Octobre 2002
    Messages : 9 161
    Par défaut
    A mon avis, il faut que tu remplaces test par le nom de la classe statique où se trouve ta méthode liste.

  4. #4
    Membre averti
    Profil pro
    Inscrit en
    Mai 2007
    Messages
    28
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2007
    Messages : 28
    Par défaut
    Voilà j'ai essayé ce que tu m'as dit mais ca ne marche toujours pas
    Est ce que ca ne proviendrai pas soit de la connexion, de la requête ou du curseur qui ne prend pas les données?

    je te présente la classe technique Sql:

    public class dbConnector
    {
    // Insérer ici les propriétés comme la connexion ou autres nécessaires
    private String connStr;
    private OdbcConnection conn;
    // Créer une connexion qu’on pourra appeler n’importe ou sans //redefinir les caractéristiques
    public OdbcConnection dbConnection
    {
    get
    {
    if (conn.State == ConnectionState.Closed)
    {
    conn.Open();
    }
    return conn;
    }
    }

    public dbConnector()
    {
    // Mettre dans un fichier de configuration la connectionstring //et voici une manières de la récupérer
    // Pour un projet ASP.NET web.config pour une
    //application windows app.config
    ConnectionStringSettings connectionStringSettings = ConfigurationManager.ConnectionStrings["connexion"];
    if (connectionStringSettings == null || connectionStringSettings.ConnectionString.Trim() == "")
    {
    throw new ProviderException("Connection string cannot be blank.");
    }
    connStr = connectionStringSettings.ConnectionString.Trim();
    conn = new OdbcConnection(connStr);
    conn.Open();
    }

    public ArrayList liste(string sTableName, string sFieldName)
    {
    if (conn.State == ConnectionState.Closed)
    conn.Open();
    ArrayList aResult = new ArrayList();
    try
    {
    string sSql = "select " + sFieldName + " from " + sTableName + "";
    OdbcCommand cmd = new OdbcCommand(sSql, conn);
    OdbcDataReader tListe = cmd.ExecuteReader();
    while (tListe.Read())
    {
    aResult.Add(tListe[sFieldName].ToString());
    }
    conn.Close();
    tListe.Dispose();
    cmd.Dispose();
    return aResult;
    }
    catch (Exception err)
    {
    throw new Exception("dbConnector ---> liste (" + err.Message + ")");
    return null;
    }
    finally
    {
    aResult = null;
    }
    et voilà la classe assure :

    public class Assure
    {
    // Classe d’accès aux données qu’on a créé ci dessus
    dbConnector test;
    public Assure()
    {

    }
    private string _id_client;
    public string id_client
    {
    get { return _id_client; }
    set { _id_client = value; }
    }
    private string _nom;
    public string nom
    {
    get { return _nom; }
    set { _nom = value; }
    }
    private string _prenom_assure;
    public string prenom_assure
    {
    get { return _prenom_assure; }
    set { _prenom_assure = value; }
    }
    private string _adresse;
    public string adresse
    {
    get { return _adresse; }
    set { _adresse = value; }
    }
    private string _cp;
    public string cp
    {
    get { return _cp; }
    set { _cp = value; }
    }
    private string _ville;
    public string ville
    {
    get { return _ville; }
    set { _ville = value; }
    }
    public void recuperer()
    {
    string sSql = "select * from client where id_client='" + _id_client.ToString() + "'";
    test = new dbConnector();
    OdbcCommand cmd = new OdbcCommand(sSql, test.dbConnection);
    OdbcDataReader tAssure = cmd.ExecuteReader();
    if (tAssure.Read())
    {
    _nom = tAssure["nom"].ToString();
    _prenom_assure = tAssure["prenom"].ToString();
    _adresse = tAssure["adresse"].ToString();
    _cp = tAssure["cp"].ToString();
    _ville = tAssure["ville"].ToString();
    }
    else
    {
    _nom = "";
    _prenom_assure = "";
    _adresse = "";
    _cp = "0";
    _ville = "";
    }

    cmd.Dispose();
    test.CloseConnection();

    }
    }
    Merci de bien avoir pris en compte mon problème.Je vais chercher de mon coté.

  5. #5
    Rédacteur/Modérateur


    Homme Profil pro
    Développeur .NET
    Inscrit en
    Février 2004
    Messages
    19 875
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Février 2004
    Messages : 19 875
    Par défaut
    Citation Envoyé par Thomas Lebrun Voir le message
    A mon avis, il faut que tu remplaces test par le nom de la classe statique où se trouve ta méthode liste.
    +1 (sauf que ce n'est pas une classe statique)

    Vu l'erreur indiquée, test est de type ArrayList, et d'après ton code la méthode liste est déclarée dans la classe dbConnector. Il faut donc utiliser une instance de dbConnector à la place de test

    Soit dit en passant, normalement on met une majuscule au début des noms des classes et des méthodes publiques... enfin, c'est juste une convention, après tu fais ce que tu veux

Discussions similaires

  1. hibernate problem (classe not mapped)
    Par oughlad dans le forum Hibernate
    Réponses: 11
    Dernier message: 25/06/2007, 19h57
  2. Probleme d'ArrayList
    Par kedare dans le forum Collection et Stream
    Réponses: 31
    Dernier message: 05/09/2006, 08h12
  3. probleme classe apres ajout de variable
    Par croc14 dans le forum Visual C++
    Réponses: 6
    Dernier message: 11/08/2006, 21h03
  4. probleme classe non trouvee
    Par foulla002 dans le forum Langage
    Réponses: 19
    Dernier message: 26/07/2006, 14h46
  5. probleme classe et chaines de caractères
    Par oilv dans le forum C++
    Réponses: 12
    Dernier message: 18/02/2006, 10h01

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