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

VB.NET Discussion :

Select et Insert base Oracle


Sujet :

VB.NET

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éclairé
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Mai 2010
    Messages
    347
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : Finance

    Informations forums :
    Inscription : Mai 2010
    Messages : 347
    Par défaut Select et Insert base Oracle
    Bonjour à tous,

    j'ai encore un soucis avec mon programme Oracle ^^

    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
     
    Dim oradb As String = "Data Source=127.0.0.1;User Id=gestionMatiere;Password=gestionMatiere;"
     
        Private Sub AjoutEleve_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
     
            Dim conn As New OracleConnection()
            conn.ConnectionString = oradb
            conn.Open()
            'On instancie notre OracleDataReader
            Dim sQuery As String = "SELECT DISTINCT NOMPROF FROM PROF"
            Dim sQuery2 As String = "SELECT DISTINCT NOMCLASSE FROM CLASSE"
     
            Dim cmd As OracleCommand = New OracleCommand(sQuery)
            Dim cmd2 As OracleCommand = New OracleCommand(sQuery2)
     
            Dim reader As OracleDataReader = cmd.ExecuteReader()
            Dim reader2 As OracleDataReader = cmd2.ExecuteReader()
     
            'Tant qu'il y a des résultats à lire, on les affiche
            cmbNomClasse.Items.Clear()
            cmbNomProf.Items.Clear()
     
            Do While reader.Read()
                cmbNomProf.Items.Add(reader.GetString(2))
            Loop
            Do While reader2.Read()
                cmbNomClasse.Items.Add(reader.GetString(1))
            Loop
            reader.Close()
            reader2.Close()
     
     
        End Sub
    Donc, en suivant divers tuto trouvés sur le net et sur développez.com, j'arrive à ce code. Problème, il ne fait rien.
    Par rapport au getString du datareader, j'en ai déduit que c'est la position du champ voulu dans la table (ici, le nom du prof est en 2ème position dans la table et le nom de la classe en 1ère position).

    Je n'ai donc ni message d'erreur, ni remplissage de combobox. J'en déduis donc qu'il y a un problème quelque part.
    J'aimerais déjà pouvoir remplir ces combobox et passer aux autres questions ensuite ^^

    Merci !


    PS : par rapport à la connexion, je l'ai redéfini sur cette page qui est une autre IHM appelée par mon programme principal. Je ne sais pas si j'ai bien fait ou non...

  2. #2
    Expert éminent Avatar de Pol63
    Homme Profil pro
    .NET / SQL SERVER
    Inscrit en
    Avril 2007
    Messages
    14 197
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Puy de Dôme (Auvergne)

    Informations professionnelles :
    Activité : .NET / SQL SERVER

    Informations forums :
    Inscription : Avril 2007
    Messages : 14 197
    Par défaut
    mets un try catch et un point d'arret dans le catch pour être sur qu'il n'y a pas d'erreur

    l'évènement load du form est une exception, ca peut sortir du sub sur une erreur sans l'afficher dans certains cas (sur un os x64 en théorie)
    il ne faut donc pas mettre de code sans try catch dans cet évènement
    Cours complets, tutos et autres FAQ ici : C# - VB.NET

  3. #3
    Membre éclairé
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Mai 2010
    Messages
    347
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : Finance

    Informations forums :
    Inscription : Mai 2010
    Messages : 347
    Par défaut
    Aahhh...
    Message :
    opération non valide, la connexion n'est pas établie...
    Donc par rapport à la connexion, la façon dont je l'ai déclaré n'est pas bonne ?

  4. #4
    Expert éminent Avatar de Pol63
    Homme Profil pro
    .NET / SQL SERVER
    Inscrit en
    Avril 2007
    Messages
    14 197
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Puy de Dôme (Auvergne)

    Informations professionnelles :
    Activité : .NET / SQL SERVER

    Informations forums :
    Inscription : Avril 2007
    Messages : 14 197
    Par défaut
    avant de faire executeX sur un command, il faut lui dire quel objet connexion il doit utiliser
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    cmd.connection = conn
    Cours complets, tutos et autres FAQ ici : C# - VB.NET

  5. #5
    Membre éclairé
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Mai 2010
    Messages
    347
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : Finance

    Informations forums :
    Inscription : Mai 2010
    Messages : 347
    Par défaut
    Merci !
    Je vais continuer à t'embêter un peu.
    J'ai une erreur :
    L'index se trouve en dehors des limites du tableau.
    Donc cette erreur se produit au niveau de la lecture et de l'ajout des résultats puisque c'est le seul "tableau" dont je dispose.
    Le nombre entre parenthèse ne correspond il pas au numéro du champ dans la table demandée ?

  6. #6
    Expert éminent Avatar de Pol63
    Homme Profil pro
    .NET / SQL SERVER
    Inscrit en
    Avril 2007
    Messages
    14 197
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Puy de Dôme (Auvergne)

    Informations professionnelles :
    Activité : .NET / SQL SERVER

    Informations forums :
    Inscription : Avril 2007
    Messages : 14 197
    Par défaut
    non
    une requête peut être liée à plusieurs tables en meme temps
    le numéro à mettre est l'index de la colonne parmis les colonnes de ta requête, l'index commence à 0
    donc pour tes 2 requete c'est 0 qu'il faut utiliser vu qu'elles ne retournent qu'une seule colonne
    Cours complets, tutos et autres FAQ ici : C# - VB.NET

Discussions similaires

  1. [XL-2010] Insertion base Oracle
    Par HakunA59 dans le forum Macros et VBA Excel
    Réponses: 1
    Dernier message: 18/01/2013, 13h30
  2. Réponses: 4
    Dernier message: 22/04/2011, 17h50
  3. Insertion à base de sous requête select
    Par imane_bennouna dans le forum Langage SQL
    Réponses: 2
    Dernier message: 25/07/2006, 12h03
  4. Insertion Blob base Oracle en ADO via DatasetProvider
    Par Creenshaw dans le forum Bases de données
    Réponses: 1
    Dernier message: 05/12/2005, 14h56
  5. insert-select sur 2 base différente
    Par gskoala dans le forum Paradox
    Réponses: 2
    Dernier message: 16/11/2004, 15h11

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