begin process at 2008 08 28 07:10:44
1 232 932 membres
52 nouveaux aujourd'hui
14 291 membres club

Vous ne trouvez pas de réponse à votre problème ? Alors posez la question dans le forum.
Souvenez-vous qu'il n'y a jamais de question bête, mais rester dans l'ignorance parce que l'on n'ose pas poser une question, ça c'est une erreur !

Sujet : Heritage d'une class Abstract [ Web 2.0 ] (kowalska)

Heritage d'une class Abstract le 04/08/2008 10:21:32

kowalska
Bonjour à tous,

Je suis actuellement perdu sur un souci de class

Voici le code de la 1er class

public abstract class DbFactory<T>
{
    protected DbConnection cnx;
    protected DbProviderFactory fac;
.....
    abstract protected T ReadObject(DbDataReader reader);

    abstract protected void GetOrdinal(DbDataReader reader);

    abstract protected string SqlFields
}

2eme Class

public class dzzStationsFactory : DbFactory<dzzStations>
{
public const string SQL_TABLE = "stations";
public const string SQL_FIELD_IDSTATION = "idstation";
public const string SQL_IDSTATION = SQL_TABLE + "." + SQL_FIELD_IDSTATION;
...

protected override void GetOrdinal(IDataReader reader)
    {
        if(posIdstation == -1)
        {
            posIdstation = reader.GetOrdinal(SQL_FIELD_IDSTATION);
            posFkIdenseigne = reader.GetOrdinal(SQL_FIELD_FK_IDENSEIGNE);
            posFkIdreseau = reader.GetOrdinal(SQL_FIELD_FK_IDRESEAU);
            posFkIdsecteur = reader.GetOrdinal(SQL_FIELD_FK_IDSECTEUR);
            posCodeImplant = reader.GetOrdinal(SQL_FIELD_CODE_IMPLANT);
            posNomStation = reader.GetOrdinal(SQL_FIELD_NOM_STATION);
            posTypeStation = reader.GetOrdinal(SQL_FIELD_TYPE_STATION);
            posAdrCp = reader.GetOrdinal(SQL_FIELD_ADR_CP);
            posAdrVoie = reader.GetOrdinal(SQL_FIELD_ADR_VOIE);
            posAdrVille = reader.GetOrdinal(SQL_FIELD_ADR_VILLE);
            posAdrRegion = reader.GetOrdinal(SQL_FIELD_ADR_REGION);
            posNomGerant = reader.GetOrdinal(SQL_FIELD_NOM_GERANT);
            posTel = reader.GetOrdinal(SQL_FIELD_TEL);
            posFax = reader.GetOrdinal(SQL_FIELD_FAX);
            posCourriel = reader.GetOrdinal(SQL_FIELD_COURRIEL);
            posFlagSupp = reader.GetOrdinal(SQL_FIELD_FLAG_SUPP);
            posNomCsm = reader.GetOrdinal(SQL_FIELD_NOM_CSM);
            posTelFixCsm = reader.GetOrdinal(SQL_FIELD_TEL_FIX_CSM);
            posTelPortCsm = reader.GetOrdinal(SQL_FIELD_TEL_PORT_CSM);
            posCommentaires = reader.GetOrdinal(SQL_FIELD_COMMENTAIRES);
            posCreePar = reader.GetOrdinal(SQL_FIELD_CREE_PAR);
            posModifiePar = reader.GetOrdinal(SQL_FIELD_MODIFIE_PAR);
            posCreeLe = reader.GetOrdinal(SQL_FIELD_CREE_LE);
            posModifieLe = reader.GetOrdinal(SQL_FIELD_MODIFIE_LE);
        }
    }
}

Et voici l'erreur

'dzzStationsFactory.GetOrdinal(): aucune méthode appropriée n'a été trouvé pour la subtitution

et

'dzzStationsFactory' n'implemente pas le membre abstract hérité DbFactory.<dzzStations>.GetOrdinal


Si vous pouviez m'aider sur ce petit soucis. merci d'avance.

Re : Heritage d'une class Abstract le 04/08/2008 11:09:11

jesusonline
Membre Club
(Admin CS)
Réponse acceptée !
Bonjour,

la signature de la méthode GetOrdinal de ta classe abstraite est DBDataReader alors que ta classe concrete est IDataReader


Cyril - MVP ASP.net - MCPD ASP.net & MCTS SQL - Consultant indépendant

Re : Heritage d'une class Abstract le 06/08/2008 11:52:16

kowalska
Merci, j'avais pas vu mon erreur


Classé sous : sql, class, reader, field, getordinal

Participer à cet échange

Pub



Appels d'offres

Recherche developpeur ...
Budget : 700€
SITE MARCHAND LOCATION...
Budget : 3 000€
SITE MARCHAND POUR HOTEL
Budget : 4 000€

CalendriCode

Août 2008
LMMJVSD
    123
45678910
11121314151617
18192021222324
25262728293031

VS Express FR Gratuit !

VS Express en français et 100% gratuit !

Téléchargements

Logiciels à télécharger sur le même thème :

Boutique

Boutique de goodies CodeS-SourceS