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

Langage SQL Discussion :

Création de table - MySQL et C++ Builder XE7 - Nouveau Pb "DSNAP210.bpl"


Sujet :

Langage SQL

  1. #1
    Membre du Club
    Profil pro
    Inscrit en
    Novembre 2007
    Messages
    92
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2007
    Messages : 92
    Points : 46
    Points
    46
    Par défaut Création de table - MySQL et C++ Builder XE7 - Nouveau Pb "DSNAP210.bpl"
    Bonjour,

    Voici mon PB :

    J'utilise des tables que je crée au premier lancement de mon application :


    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
     
    T_TRAIT->CommandType = ctTable;
    T_TRAIT->CommandText = "T_TABLE";
     
    T_TRAIT->Active = false;
     
    try
    {
         T_Trait->Active = true;
    }
    catch (Exception &exception)
    {
         AnsiString req = "CREATE TABLE T_TABLE (NUMERO INT, LIBELLE CHAR(255));
         SQLQuery->SQL->Clear();
         SQLQuery->SQL->Add(req);
         SQLQuery->SQL->PrepareStatement();
         SQLQuery->ExecSQL(true);
    }
    T_TRAIT->Active = false;



    Au premier lancement, tout se passe bien, la table est créée.

    Si je relance mon application, le programme me retourne une erreur "La table T_Table existe déjà", comme si l'exception était déclenchée à chaque fois, alors que la table existe.

    Or ce code fonctionnait parfaitement sous C++ Builder 2007.

    Dois-je modifier une partie du code ?

    Merci pour toute indication.

  2. #2
    Rédacteur/Modérateur


    Homme Profil pro
    Network game programmer
    Inscrit en
    Juin 2010
    Messages
    7 115
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 36
    Localisation : Canada

    Informations professionnelles :
    Activité : Network game programmer

    Informations forums :
    Inscription : Juin 2010
    Messages : 7 115
    Points : 32 967
    Points
    32 967
    Billets dans le blog
    4
    Par défaut
    Salut,

    ton probleme c'est du SQL et pas du C++.
    create table IF NOT EXISTS serait la syntaxe correcte.
    Pensez à consulter la FAQ ou les cours et tutoriels de la section C++.
    Un peu de programmation réseau ?
    Aucune aide via MP ne sera dispensée. Merci d'utiliser les forums prévus à cet effet.

  3. #3
    Modérateur

    Profil pro
    dba
    Inscrit en
    Janvier 2010
    Messages
    5 643
    Détails du profil
    Informations personnelles :
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : dba

    Informations forums :
    Inscription : Janvier 2010
    Messages : 5 643
    Points : 13 092
    Points
    13 092
    Par défaut
    Bonjour,

    Citation Envoyé par LescureImage Voir le message
    comme si l'exception était déclenchée à chaque fois
    Ce doit être le cas ! sans doute une exception qui n'a rien a voir avec l'absence de la table. Vérifiez l'exception qui a été levée.

  4. #4
    Membre du Club
    Profil pro
    Inscrit en
    Novembre 2007
    Messages
    92
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2007
    Messages : 92
    Points : 46
    Points
    46
    Par défaut Ok pour les tables - Nouveau Pb "DSNAP210.bpl"
    Merci pour ce réponse, en effet cela passe avec ces corrections.

    J'ai maintenant un nouveau problème.

    Pour divers tests, j'ai transféré mon application sur un autre poste, avec toutes les dll nécessaires, ainsi que MySQL.

    La connexion à la base est OK, mais dès que je fais une requête de chargement de tableau avec une datasource, j'ai une Accès Violation sur DSNAP210.BPL

    A noter que cela ne se produit que sur la machine de test, mais pas sur le poste de développement.

    Merci pour toute indication.

Discussions similaires

  1. Problème de création de table MySQL : ERROR 1118
    Par Mayhem555 dans le forum Requêtes
    Réponses: 3
    Dernier message: 23/09/2009, 12h23
  2. Création de Tables MySQL en C#
    Par Clemnt dans le forum Accès aux données
    Réponses: 1
    Dernier message: 03/07/2007, 10h33
  3. probléme avec la création de table Mysql 5
    Par developpeur_mehdi dans le forum Outils
    Réponses: 3
    Dernier message: 19/10/2005, 19h08
  4. Création de table MySQL
    Par dehbi dans le forum SQL Procédural
    Réponses: 4
    Dernier message: 15/04/2004, 10h59
  5. Problème de création de table sous MySql
    Par ducamba dans le forum Requêtes
    Réponses: 2
    Dernier message: 21/06/2003, 09h59

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