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

Dotnet Discussion :

Appel de dataset


Sujet :

Dotnet

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éclairé
    Profil pro
    Inscrit en
    Février 2005
    Messages
    212
    Détails du profil
    Informations personnelles :
    Localisation : Canada

    Informations forums :
    Inscription : Février 2005
    Messages : 212
    Par défaut Appel de dataset
    Bonjour,

    Je cherche maintenant depuis plusieurs jours à recuperer et afficher des données en provenance de dataset dans une seule gridview (probleme d'environnement). B.AF m'a bien aidé !

    Je recupere bien mes deux dataset dans deux gridview separée ; la connection fonctionne desoramis ! Exemple du code placée dans la sous page.cs
    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
    publicvoid ReadMyDataDB2(string connString){
    DB2Connection conn = newDB2Connection(connString);
    conn.Close();
    conn.Open();
    DB2Command sqlCmd = conn.CreateCommand();
    sqlCmd.CommandText = 
    "Select A.aa,A.bb from a.ee A Where A.aa='D5'";
    sqlCmd.CommandType = 
    CommandType.Text;
    DB2DataReader reader = sqlCmd.ExecuteReader();
    reader.Close();
    DB2DataAdapter da =newDB2DataAdapter();
    da.SelectCommand = sqlCmd;
    DataSet ds = newDataSet();
    da.Fill(ds,"Test_DB2");
    da.Dispose();
    sqlCmd.Dispose();
    gv_DB2.DataSource = ds;
    }

    Dans une class business et encore grâce à B.AF je suis parvenu à créer un gridview avec jointure mais les table adapter et data sont saisies manuellement :
    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
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
     
    publicclassItemMaster
    {
    privatestaticreadonlyItemMaster instance = newItemMaster();
    privateDataSet _mixed = newDataSet();
    publicDataTable _oracle = newDataTable("PART_ORACLE");
    publicDataTable _db2 = newDataTable("PART_DB2"); 
    publicDataTable _mixedtable = newDataTable("SELECTION");
     
    static ItemMaster() { }
    ItemMaster()
    {
    CreateOracle();
    CreateDB2();
    CreateSelection();
    BuildDataset();
    PopulateDataSet();
    }
    publicstaticItemMaster Instance
    {
    get { return instance; }
    }
    privatevoid CreateOracle()
    {
    _oracle.Columns.Add(
    "CTIDNO", typeof(string));
    _oracle.Columns.Add("RCPT_ZONE", typeof(string));
    _oracle.PrimaryKey = newDataColumn[] { _oracle.Columns["CTIDNO"] };
    }
    privatevoid CreateDB2()
    {
    _db2.Columns.Add("CTIDNO", typeof(string));
    _db2.Columns.Add("RCDLOC", typeof(string));
    _db2.PrimaryKey = newDataColumn[] { _db2.Columns["CTIDNO"] };
    }
    privatevoid CreateSelection()
    {_mixedtable.Columns.Add("CTIDNO", typeof(string));
    _mixedtable.Columns.Add("RCDLOC", typeof(string));
    _mixedtable.Columns.Add("RCPT_ZONE", typeof(string));
    _mixedtable.PrimaryKey = newDataColumn[] { _mixedtable.Columns["CTIDNO"] };
    }
     
    privatevoid BuildDataset()
    {_mixed.Tables.AddRange(
    newDataTable[] { _oracle, _db2, _mixedtable });
    _mixed.Relations.Add(_mixed.Tables["PART_ORACLE"].Columns["CTIDNO"], _mixed.Tables["PART_DB2"].Columns["CTIDNO"]);
    }
     
    publicDataSet GetFullDataSet
    {
    get { return _mixed; }
    }
     
    publicDataSet GetDataSetWithMixedBy(int _rowid)
    {GetChildRowsFromDataRelation(_rowid);
    return _mixed;
    }
     
    privateDataTable GetChildRowsFromDataRelation(int index)
    {
    try
    {
    _mixedtable.Rows.Clear();
    DataRow[] childRows = _oracle.Rows[index].GetChildRows(_oracle.ChildRelations[0]);
    foreach (DataRow dr in childRows)
    {_mixedtable.Rows.Add(
    newobject[] { dr[0], dr[1], _oracle.Rows[index][1] });
    }
    return _mixedtable;
    }
    catch (Exception ex)
    {
    returnnull;
    }}
    publicvoid PopulateDataSet()
    {_mixed.Tables["PART_ORACLE"].Rows.Add(
    newobject[] { "1W2456", "Champ_Rcpt_Zone" });
    _mixed.Tables["PART_DB2"].Rows.Add(
    newobject[] { "1W2456", "Champ_RecLoc" });
    }
    }
    }
    MA QUESTION :
    Comment inserer mes dataset et ses données à la place des valeurs saisies manuellement dans le code ci-dessus.
    Je débute avec cette techno ; si vous pourriez me donner un coup de main ce serait sympa !!

    Merci pour votre aide

  2. #2
    Inactif  
    Homme Profil pro
    Chef de projet NTIC
    Inscrit en
    Janvier 2007
    Messages
    6 604
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 64
    Localisation : France

    Informations professionnelles :
    Activité : Chef de projet NTIC

    Informations forums :
    Inscription : Janvier 2007
    Messages : 6 604
    Par défaut
    Citation Envoyé par Sam 069 Voir le message

    Dans une class business et encore grâce à B.AF je suis parvenu à créer un gridview
    Je n'ai pas sur le moment de réponse à ta question, mais qu'on manipule un GridView dans une class "business" me gène un peu (même beaucoup à vrai dire ... )

  3. #3
    Membre éclairé
    Profil pro
    Inscrit en
    Février 2005
    Messages
    212
    Détails du profil
    Informations personnelles :
    Localisation : Canada

    Informations forums :
    Inscription : Février 2005
    Messages : 212
    Par défaut
    Non je me suis mal exprimé.
    Je manipule les gridview dans la page.cs

    Je manipule des methodes dans mes class business.
    Je fait ensuite appel à ces methodes grace à l'objectdatasource.

    Merci

  4. #4
    Membre éclairé
    Profil pro
    Inscrit en
    Février 2005
    Messages
    212
    Détails du profil
    Informations personnelles :
    Localisation : Canada

    Informations forums :
    Inscription : Février 2005
    Messages : 212
    Par défaut
    J'ai rajoute une ligne
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
                DB2DataReader DB2reader = sqlCmd.ExecuteReader();
                DataTable DB2 = Converter.convertDataReaderToTable((IDataReader)DB2reader);
                DB2reader.Close();
    qui permet de convertir mes reader en table. Ca fonctionne.

    Il me faut maintenant parvenir à faire appel à ces deux table les joindre et en extraire les data.

    Pouvez vous m'aider ?

  5. #5
    Inactif  
    Homme Profil pro
    Chef de projet NTIC
    Inscrit en
    Janvier 2007
    Messages
    6 604
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 64
    Localisation : France

    Informations professionnelles :
    Activité : Chef de projet NTIC

    Informations forums :
    Inscription : Janvier 2007
    Messages : 6 604
    Par défaut
    Citation Envoyé par Sam 069 Voir le message
    J'ai rajoute une ligne
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
                DB2DataReader DB2reader = sqlCmd.ExecuteReader();
                DataTable DB2 = Converter.convertDataReaderToTable((IDataReader)DB2reader);
                DB2reader.Close();
    qui permet de convertir mes reader en table. Ca fonctionne.
    Tu as une raison particulière de vouloir convertir un reader en table ? C'est à dire, as tu besoin après la requête de la table ET du reader ? si oui, admettons (même si le cas est inhabituel) sinon, pourquoi ne pas remplir directement la table avec un DataAdapter ? je ne vois pas trop bien le bénéfice de l'utilisation du reader ici.

  6. #6
    Membre éclairé
    Profil pro
    Inscrit en
    Février 2005
    Messages
    212
    Détails du profil
    Informations personnelles :
    Localisation : Canada

    Informations forums :
    Inscription : Février 2005
    Messages : 212
    Par défaut
    Peut etre que maintenant, étant donné que j'ai mes deux tables en mémoire,
    je peux faire une jointure dessus plus facilement qu'à partir des dataset.

    Mon raisonnement est peut etre erronné mais je ne parviens pas à faire de jointure sur ces dataset et/ou tableadapter alors je pensais que grâce à cette solution je pouvais réaliser ma jointure derrière?

    Après beaucoup de recherche sans resultat je me pose cette question:
    - Est-il possible de joindre de Tableadpater provenant d'environnement different ? Si oui comment ?
    Personnelemnt je ne vois pas pourquoi ce serait impossible vu que ces "tables" sont en memoire chargé chez le client !

    Merci

Discussions similaires

  1. Réponses: 3
    Dernier message: 18/04/2011, 09h52
  2. Réponses: 6
    Dernier message: 29/10/2010, 10h21
  3. [2.3.1] Appel à des dataset depuis javascript
    Par Bouillou dans le forum BIRT
    Réponses: 6
    Dernier message: 06/02/2009, 08h36
  4. Appeler 2 dataset dans un autre
    Par leukes dans le forum SSRS
    Réponses: 3
    Dernier message: 15/07/2008, 17h24
  5. [SqlSrv2005/C#] Appeler une vue dans un Dataset
    Par Ykaar dans le forum Accès aux données
    Réponses: 3
    Dernier message: 05/09/2007, 13h30

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