none
extraction de la base vers un datagridview RRS feed

  • Question

  • bonjour tous le monde 
    j'essaye d'afficher une sélection de la base de données dans un datagridview 
    mais rien ne s'affiche
    voici le code

    string strRequete = "SELECT MATRICULE_EMP,NOM,PRENOM,DATE_ACC,DATE_REPRISE,NBR_JOUR_REPOS FROM EMPLOYE,ACCIDENT WHERE accident.matricule1= employe.matricule_emp AND DATE_ACC >= :date_debut AND DATE_REPRISE <= :date_fin ORDER BY DATE_ACC DESC";
          OracleCommand oCommand = new OracleCommand(strRequete, oConnection);
    
          oCommand.Parameters.AddWithValue("date_debut", DateTime.Parse(date_debut.Text));
          oCommand.Parameters.AddWithValue("date_fin", DateTime.Parse(date_fin.Text));
          
          OracleDataReader oReader = oCommand.ExecuteReader();
          OracleDataAdapter dataAdapter = new OracleDataAdapter(strRequete, strConnexion);
          
          OracleCommandBuilder commandBuilder = new OracleCommandBuilder(dataAdapter);
          DataTable table = new DataTable();
          try
            {
          dataAdapter.Fill(table);
          dataGridView1.DataSource = table;
            }
          catch(Exception ex)
          {
            MessageBox.Show("Erreur d'extraction des données", "Lecture des données"); 
          }

    une erreur apparait 

    ORA-01008: not all variables bound

    aide svp

    je me bloque

    lundi 2 mai 2011 14:41

Réponses

  • Bonjour,

    vous devez initialiser votre OracleDataAdapter à partir de l'OracleCommand :

    OracleDataAdapter dataAdapter = new OracleDataAdapter(oCommand);
    Cordialement


    mardi 3 mai 2011 10:10
    Modérateur
  • Bonjour,

    Pour être légèrement plus explicite que Nikho, actuellement il n'y a aucun rapport entre dataAdapter et oCommand. dataAdapter utilise simplement une chaine de caractères mais n'a aucune idée de comment alimenter les paramètres qui y sont inscrits d'où l'erreur. Le problème sera résolu si dataAdapter est initialisé en utilisant oCommand.


    Please always mark whatever response solved your issue so that the thread is properly marked as "Answered".
    mardi 3 mai 2011 12:07
    Modérateur

Toutes les réponses

  • Bonjour,

     

    Vous pouvez essayer de supprimer l'appel suivant : OracleDataReader oReader = oCommand.ExecuteReader()

    Il ne semble pas utile car vous utilisez un DataAdpater pour alimenter une datatable.

    Vous pouvez également supprimer OracleCommandBuilder commandBuilder = new OracleCommandBuilder(dataAdapter);

    si vous ne faites pas de mise à jour.

    Sinon a quelle ligne avez vous l'erreur ?

    Par ailleurs si cela fonctionne penser à utiliser une syntaxe du type using ( ) pour libérer vous ressources sur les OracleCommand et OracleDataAdapter

     

    using(OracleDataAdapter dataAdapter = new OracleDataAdapter(strRequete, strConnexion) )
    {
    
    ...
    }
    
    
    Cordialement

     


    lundi 2 mai 2011 15:30
    Modérateur
  • bonjour

    merci de m'avoir répondre , j'ai suivi vos conseil mais toujours la même erreur

    enfaite l'exécution se fait normalement!

    mais toujours l'exception s'affiche

    et l'erreur ORA-01008: not all variables bound s'affiche sur cette ligne  catch(Exception ex)

    cordialement


    mardi 3 mai 2011 09:26
  • Bonjour,

    vous devez initialiser votre OracleDataAdapter à partir de l'OracleCommand :

    OracleDataAdapter dataAdapter = new OracleDataAdapter(oCommand);
    Cordialement


    mardi 3 mai 2011 10:10
    Modérateur
  • Bonjour,

    Pour être légèrement plus explicite que Nikho, actuellement il n'y a aucun rapport entre dataAdapter et oCommand. dataAdapter utilise simplement une chaine de caractères mais n'a aucune idée de comment alimenter les paramètres qui y sont inscrits d'où l'erreur. Le problème sera résolu si dataAdapter est initialisé en utilisant oCommand.


    Please always mark whatever response solved your issue so that the thread is properly marked as "Answered".
    mardi 3 mai 2011 12:07
    Modérateur
  • Bonjour, Boudour,

    Est-ce que les dernières explications de Nikho et Patrice vous ont aidé à résoudre votre problème ? Merci pour tenir la communauté informée sur la suite de vos démarches.

    Cordialement,

    Cipri


    Suivez MSDN sur Twitter   Suivez MSDN sur Facebook


    Ciprian DUDUIALA, MSFT  
    •Nous vous prions de considérer que dans le cadre de ce forum on n’offre pas de support technique et aucune garantie de la part de Microsoft ne peut être offerte.

    jeudi 5 mai 2011 08:02