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 :

VB + mySQL , requête qui disjonctent ?


Sujet :

VB.NET

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Profil pro
    Inscrit en
    Mai 2010
    Messages
    17
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2010
    Messages : 17
    Par défaut VB + mySQL , requête qui disjonctent ?
    Bonjour,

    Je suis assez novice dans l'utilisation de VB, mais je dois développer une application visant à gérer une petite base de donnée mySQL.

    Mon problème est le suivant :

    Ma connexion à la base se fait sans problème, mais les requêtes envoyées à la base via l'appli retournent des résultats farfelus. Lorsque je teste mes requêtes directement sur phpmyadmin, elles me retournent les résultats attendus, mais via l'appli ça déconne complètement.

    Voici ma base :
    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
    83
    84
    85
    86
    87
    88
    89
    90
    91
    92
    93
    94
    95
    96
    97
    98
    99
    100
    101
    102
    103
    104
    105
    106
    107
    108
    /*==============================================================*/
    /* Table : BATEAU                                               */
    /*==============================================================*/
    create table BATEAU
    (
       CODE_BATEAU          int not null auto_increment,
       CODE_CLIENT          int not null,
       CODE_EMPLACEMENT     int not null,
       CODE_MOTEUR          int not null,
       NOM_BATEAU           char(35),
       TYPE_BATEAU          char(35),
       primary key (CODE_BATEAU)
    );
     
    /*==============================================================*/
    /* Table : CLES                                                 */
    /*==============================================================*/
    create table CLES
    (
       CODE_CLES            int not null auto_increment,
       LIBELLE_CLES         char(25),
       primary key (CODE_CLES)
    );
     
    /*==============================================================*/
    /* Table : CLIENT                                               */
    /*==============================================================*/
    create table CLIENT
    (
       CODE_CLIENT          int not null auto_increment,
       NOM_CLIENT           char(25),
       PRENOM_CLIENT        char(25),
       TELEPHONE_CLIENT     char(10),
       ADRESSE_RUE_CLIENT   char(150),
       ADRESSE_CP_CLIENT    char(5),
       ADRESSE_VILLE_CLIENT char(30),
       primary key (CODE_CLIENT)
    );
     
    /*==============================================================*/
    /* Table : EMPLACEMENT                                          */
    /*==============================================================*/
    create table EMPLACEMENT
    (
       CODE_EMPLACEMENT     int not null auto_increment,
       NOM_EMPLACEMENT      char(25),
       PONTON               char(15),
       REGULIER             char(3),
       primary key (CODE_EMPLACEMENT)
    );
     
    /*==============================================================*/
    /* Table : INTERVENTION                                         */
    /*==============================================================*/
    create table INTERVENTION
    (
       NUMERO_INTERVENTION  int not null auto_increment,
       CODE_MECANICIEN      int not null,
       CODE_CLES            int not null,
       CODE_BATEAU          smallint not null,
       DATE_INTERVENTION    date,
       HEURE_INTERVENTION   time,
       TRAVAIL_A_FAIRE      text,
       TRAVAIL_EFFECTUE     text,
       DUREE_INTERVENTION   int,
       primary key (NUMERO_INTERVENTION)
    );
     
    /*==============================================================*/
    /* Table : MECANICIEN                                           */
    /*==============================================================*/
    create table MECANICIEN
    (
       CODE_MECANICIEN      int not null auto_increment,
       NOM_MECANICIEN       char(20),
       PRENOM_MECANICIEN    char(25),
       primary key (CODE_MECANICIEN)
    );
     
    /*==============================================================*/
    /* Table : MOTEUR                                               */
    /*==============================================================*/
    create table MOTEUR
    (
       CODE_MOTEUR          int not null auto_increment,
       MARQUE_MOTEUR        char(20),
       TYPE_MOTEUR          char(20),
       TRANSMISSION         varchar(20),
       primary key (CODE_MOTEUR)
    );
     
    alter table BATEAU add constraint FK_APPARTENIR foreign key (CODE_CLIENT)
          references CLIENT (CODE_CLIENT) on delete restrict on update restrict;
     
    alter table BATEAU add constraint FK_CORRESPONDRE foreign key (CODE_MOTEUR)
          references MOTEUR (CODE_MOTEUR) on delete restrict on update restrict;
     
    alter table BATEAU add constraint FK_MOUILLER foreign key (CODE_EMPLACEMENT)
          references EMPLACEMENT (CODE_EMPLACEMENT) on delete restrict on update restrict;
     
    alter table INTERVENTION add constraint FK_CORRESPONDRE_2 foreign key (CODE_CLES)
          references CLES (CODE_CLES) on delete restrict on update restrict;
     
    alter table INTERVENTION add constraint FK_INTERVENIR foreign key (CODE_MECANICIEN)
          references MECANICIEN (CODE_MECANICIEN) on delete restrict on update restrict;
     
    alter table INTERVENTION add constraint FK_SUBIR foreign key (CODE_BATEAU)
          references BATEAU (CODE_BATEAU) on delete restrict on update restrict;
    Si, par exemple, je lance cette requête :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    SELECT TYPE_MOTEUR
    FROM MOTEUR
    WHERE MARQUE_MOTEUR = 'volvo-penta'
    J'obtiens : Sous VB, je n'obtiens aucun résultat.

    Autre exemple plus troublant :

    Je désire obtenir les résultats de la requête
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    select TYPE_BATEAU from BATEAU
    , qui retourne les bons résultats sous phpmyadmin,

    et bien sous VB, cette requête de me retourne rien, et je finis par obtenir les résultats voulus en bidouillant et en changant la requête en
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    select NOM_BATEAU, TYPE_BATEAU from BATEAU
    .

    Dans ce cas là, alors qu'on devrait me retourner les noms et les types, je ne reçois que les types (résultat voulu à la base, mais où est la logique ???)

    Je vous donne le code tout ce qu'il y a de plus simple de ces deux requêtes sous VB :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    Dim cnxtype As MySqlConnection
            cnxtype = New MySqlConnection("Database=BDDLELU;Data Source=localhost;User Id=root;Password=""")
            cnxtype.Open()
            Dim cmdtype As MySqlCommand
            cmdtype = cnxtype.CreateCommand()
            cmdtype.CommandText = "select NOM_BATEAU, TYPE_BATEAU from BATEAU"
            Dim drtype As MySqlDataReader
            drtype = cmdtype.ExecuteReader()
            Dim nbEnrtype As Integer
            nbEnrtype = 0
            Do While drtype.Read()
                CB_Liste_Type.Items.Add(drtype.GetString(1))
            Loop
            cnxtype.Close()
    et

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    Dim cnxmodele As MySqlConnection
            cnxmodele = New MySqlConnection("Database=BDDLELU;Data Source=localhost;User Id=root;Password=""")
            cnxmodele.Open()
            Dim cmdmodele As MySqlCommand
            cmdmodele = cnxmodele.CreateCommand()
            cmdmodele.CommandText = "select TYPE_MOTEUR from MOTEUR"
            Dim drmodele As MySqlDataReader
            drmodele = cmdmodele.ExecuteReader()
     
            Do While drmodele.Read()
                LB_Modele.Items.Add(drmodele.GetString(1))
            Loop
            cnxmodele.Close()
    Désolé pour la longueur du message, j'ai préféré fournir le plus d'info possible.
    Je vous remercie d'avance de votre lecture et de vos réponses éventuelles.

    variK.

  2. #2
    Membre Expert Avatar de mactwist69
    Homme Profil pro
    Développement VB.NET
    Inscrit en
    Janvier 2007
    Messages
    1 707
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : France, Saône et Loire (Bourgogne)

    Informations professionnelles :
    Activité : Développement VB.NET
    Secteur : Industrie

    Informations forums :
    Inscription : Janvier 2007
    Messages : 1 707
    Par défaut
    Deux petites suggestions:

    Pourquoi ne pas remplir un Dataset ?

    Dans le deuxieme exemple de code... Je sais pas si je me trompe mais tu as

    Alors que l'index commence a 0

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Réponses: 2
    Dernier message: 07/02/2011, 09h39
  2. [MySQL] Requête qui ne passe pas
    Par kirian dans le forum Bases de données
    Réponses: 3
    Dernier message: 26/02/2007, 11h47
  3. Réponses: 3
    Dernier message: 02/12/2006, 16h10
  4. [php-mysql] requête qui ne marche pas....
    Par sanosuke85 dans le forum Requêtes
    Réponses: 1
    Dernier message: 09/01/2006, 17h18
  5. Problème requête qui renvoie plusieurs
    Par dai.kaioh dans le forum Langage SQL
    Réponses: 6
    Dernier message: 01/04/2004, 10h07

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