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

SQL Firebird Discussion :

[FB] Problème de conversion en String lors d'un INSERT ?


Sujet :

SQL Firebird

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éprouvé

    Profil pro
    Inscrit en
    Octobre 2003
    Messages
    1 163
    Détails du profil
    Informations personnelles :
    Âge : 40
    Localisation : France

    Informations forums :
    Inscription : Octobre 2003
    Messages : 1 163
    Par défaut [FB] Problème de conversion en String lors d'un INSERT ?
    Bonjour à tous,

    je me suis finalement décider à utiliser Firebird pour mon projet utilisant une base de donnée de type fichier.

    J'ai réussi à créer ma base de donnée et je souhaite maintenant la remplir de données pour effectuer des tests.

    Ma première table aucun problème, la deuxième par contre....
    Ci-dessous le code SQL pour créer les deux premières tables :
    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
    CREATE TABLE T_Festivals (
    	IdFestival		INTEGER				NOT NULL PRIMARY KEY,
    	Nom			VARCHAR(35)			NOT NULL,
    	License1		VARCHAR(20),
    	License2		VARCHAR(20),
    	Billet		        BLOB
    );
     
    CREATE TABLE T_Concerts (
    	IdConcert		INTEGER				NOT NULL PRIMARY KEY,
    	IdFestival		INTEGER				NOT NULL,
    	Nom			VARCHAR(50)			NOT NULL,
    	Lieu			VARCHAR(50)			NOT NULL,
    	DateConcert             TIMESTAMP                       NOT NULL,
    	NbPlaces		INTEGER				NOT NULL CHECK( "NbPlaces" > 0 ),
     
    	CONSTRAINT		FK_Concert_Festival		FOREIGN KEY (IdFestival) 	REFERENCES T_Festivals(IdFestival)
    );
    Voici les deux enregistrements qui se trouvent dans ma table T_Festivals :

    Citation Envoyé par T_Festivals
    IDFESTIVAL,NOM,LICENSE1,LICENSE2
    0,Festival de test,12313513,135135
    1,Deuxième festival,1531634,34654
    Ensuite j'essaye d'insérer un enregistrement dans ma deuxième table T_Concerts :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    INSERT INTO T_CONCERTS VALUES ( 0, 1, "Test", "Test", '2006-02-02', 500 );
    Lors de l'exécution de cette requête voici le message d'erreur que j'obtiens (j'utilise MiTeC IB Query) :
    Citation Envoyé par Message d'erreur
    Statement #1:
    conversion error from string "NbPlaces"
    J'avoue ne pas comprendre pourquoi et si quelqu'un à une explication à me fournir je suis preneur !

    Merci d'avance pour votre aide !

  2. #2
    Expert confirmé
    Avatar de qi130
    Homme Profil pro
    Expert Processus IT
    Inscrit en
    Mars 2003
    Messages
    3 932
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 64
    Localisation : France

    Informations professionnelles :
    Activité : Expert Processus IT
    Secteur : Finance

    Informations forums :
    Inscription : Mars 2003
    Messages : 3 932
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    NbPlaces      INTEGER            NOT NULL CHECK( "NbPlaces" > 0 ),

    D'après la doc IB, quand un check référence une colonne, il ne faut pas la mentionner entre quotes (")

    Essaie ainsi:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    NbPlaces      INTEGER            NOT NULL CHECK(NbPlaces > 0 ),

  3. #3
    Membre éprouvé

    Profil pro
    Inscrit en
    Octobre 2003
    Messages
    1 163
    Détails du profil
    Informations personnelles :
    Âge : 40
    Localisation : France

    Informations forums :
    Inscription : Octobre 2003
    Messages : 1 163
    Par défaut
    C'était ça

    Merci beaucoup !

  4. #4
    Membre éprouvé

    Profil pro
    Inscrit en
    Octobre 2003
    Messages
    1 163
    Détails du profil
    Informations personnelles :
    Âge : 40
    Localisation : France

    Informations forums :
    Inscription : Octobre 2003
    Messages : 1 163
    Par défaut
    Hmm j'ai encore un problème...une fois cela corrigé il me dit violation de la contrainte d'intégrité sur IdFestival dans T_CONCERTS.

    En fait quand j'y regarde de plus près il m'indique que la table de la contrainte est IdFestivals et la colonne T_FESTIVALS. En inversant dans mon code SQL cela ne fonctionne plus...

    EDIT : Le message d'erreur est précisement :
    unsuccessful metadata update could not find UNIQUE INDEX with specified columns
    Je suis désolé, pourtant je connais le SQL mais j'avoue que Firebird me déroute un peu...

  5. #5
    Membre éprouvé
    Homme Profil pro
    Benevole
    Inscrit en
    Mai 2004
    Messages
    1 720
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Côte d'Ivoire

    Informations professionnelles :
    Activité : Benevole
    Secteur : Enseignement

    Informations forums :
    Inscription : Mai 2004
    Messages : 1 720
    Par défaut
    pourquoi ne pas renommer le champ dans la table T_Concerts.

  6. #6
    Membre éprouvé
    Homme Profil pro
    Benevole
    Inscrit en
    Mai 2004
    Messages
    1 720
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Côte d'Ivoire

    Informations professionnelles :
    Activité : Benevole
    Secteur : Enseignement

    Informations forums :
    Inscription : Mai 2004
    Messages : 1 720
    Par défaut
    et ajouter le code suivant dans le sript de creation
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    alter table  T_Concert  add  CONSTRAINT      FK_Concert_Festival      FOREIGN KEY (IdFestival_1)    REFERENCES T_Festivals(IdFestival)

  7. #7
    Membre éprouvé

    Profil pro
    Inscrit en
    Octobre 2003
    Messages
    1 163
    Détails du profil
    Informations personnelles :
    Âge : 40
    Localisation : France

    Informations forums :
    Inscription : Octobre 2003
    Messages : 1 163
    Par défaut
    En fait ça marche, j'ai oublié de fermer le sujet.
    Mais je ne me rappel plus ce que j'ai changé pour que ça marche, une erreur idiote je crois.

    Merci quand même !

Discussions similaires

  1. Problème de conversion de String en Float
    Par reuqnas dans le forum Débuter
    Réponses: 2
    Dernier message: 25/06/2014, 18h39
  2. Problème données de type date lors de l'insertion
    Par NarbOni dans le forum Administration
    Réponses: 1
    Dernier message: 12/04/2011, 10h28
  3. Problème de conversion date String --> Date
    Par Jonathan.Harvey dans le forum Collection et Stream
    Réponses: 4
    Dernier message: 08/10/2008, 16h38
  4. Problème de Conversion de string en DateTime
    Par mambo dans le forum VB.NET
    Réponses: 3
    Dernier message: 26/12/2007, 17h27
  5. Réponses: 2
    Dernier message: 20/10/2005, 10h50

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