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

Bases de données Delphi Discussion :

insertion dans interbase 5.5 avec un TUpdateSQL


Sujet :

Bases de données Delphi

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre du Club
    Inscrit en
    Septembre 2004
    Messages
    62
    Détails du profil
    Informations forums :
    Inscription : Septembre 2004
    Messages : 62
    Points : 59
    Points
    59
    Par défaut insertion dans interbase 5.5 avec un TUpdateSQL
    Salut les développeurs. J'aimerais que quelqu'un me file un tuyau sur comment faire des insertions dans Interbase 5.5 avec un UpdateSQL

    Je suis à l'écoute! Merci

  2. #2
    Membre à l'essai
    Profil pro
    Inscrit en
    Mai 2003
    Messages
    20
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2003
    Messages : 20
    Points : 22
    Points
    22
    Par défaut
    Introduire la requete dans la propriété SQL de votre table

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    IBTable1.SQL:='Insert Into Table (...) values (...);
    IBTable1.UpdateSQL;
    Ca devrait marcher.

  3. #3
    Rédacteur
    Avatar de Giovanny Temgoua
    Profil pro
    Étudiant
    Inscrit en
    Novembre 2003
    Messages
    3 830
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Novembre 2003
    Messages : 3 830
    Points : 4 006
    Points
    4 006
    Par défaut
    Tu parlais pas du composant TUpdateSQL par hasard ?

  4. #4
    Membre du Club
    Inscrit en
    Septembre 2004
    Messages
    62
    Détails du profil
    Informations forums :
    Inscription : Septembre 2004
    Messages : 62
    Points : 59
    Points
    59
    Par défaut
    Merci de me répondre. Je me suis peut-être mal exprimé. Quand je parle de UpdateSQL je pense au composant TUpdateSQL. ¨
    Pour la solution que vous me propsez, les tables n'ont pas de prpriété SQL!

  5. #5
    Rédacteur
    Avatar de Giovanny Temgoua
    Profil pro
    Étudiant
    Inscrit en
    Novembre 2003
    Messages
    3 830
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Novembre 2003
    Messages : 3 830
    Points : 4 006
    Points
    4 006
    Par défaut
    La table en question a une propriété UpdateObject, assigne lui le compo TUpdateSql en question et n'oublie pas de préciser ses différentes propriétés SQL!

    Il est bien de l'utiliser si tu stockes les modifications en cache...

  6. #6
    Membre du Club
    Inscrit en
    Septembre 2004
    Messages
    62
    Détails du profil
    Informations forums :
    Inscription : Septembre 2004
    Messages : 62
    Points : 59
    Points
    59
    Par défaut
    Oui, je parle bien du composant TUpdateSQL! J'essaie le code suivant
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    with MonDatamodule do
        begin
        MaTransaction.CheckInTransaction;
        MaTable.Append;
        MonUpdateSQL.ExecSQL(ukInsert);
        MaTransaction.Commit;
        end
    A l'exécution, j'obtient le message d'erreur suivant Le projet MONProjet a provoqué une classe d'exception EInterBaseError avec le message 'violation of PRIMARY or UNIQUE KEY constraint MaContraine on table "MaTable". Processus stoppé. Utilisez pas à pas ou exécuter pour continuer

  7. #7
    Membre du Club
    Inscrit en
    Septembre 2004
    Messages
    62
    Détails du profil
    Informations forums :
    Inscription : Septembre 2004
    Messages : 62
    Points : 59
    Points
    59
    Par défaut
    Le plus bizarre c'est que malgré ce message d'erreur, l'enregistrement est tout de même effectué puisqu'il s'affiche lors de l'exécution d'une requête select dans le Interbase ISQL. Est-ce normal?

  8. #8
    Rédacteur
    Avatar de Giovanny Temgoua
    Profil pro
    Étudiant
    Inscrit en
    Novembre 2003
    Messages
    3 830
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Novembre 2003
    Messages : 3 830
    Points : 4 006
    Points
    4 006
    Par défaut
    Citation Envoyé par mariustrezor
    Est-ce normal?
    non

    Où est ce que tu exécutes ce code ? Dans l'évènement OnUpdateRecord ?

    As-tu vérifié qu'il n'ya effectivement aucune contrainte violée ?

    Tu peux gérer les exceptions dans cet évènement et faire un Rollback s'il y'a un problème...

  9. #9
    Membre du Club
    Inscrit en
    Septembre 2004
    Messages
    62
    Détails du profil
    Informations forums :
    Inscription : Septembre 2004
    Messages : 62
    Points : 59
    Points
    59
    Par défaut
    merci!
    j'essaye tout de suite

  10. #10
    Membre du Club
    Inscrit en
    Septembre 2004
    Messages
    62
    Détails du profil
    Informations forums :
    Inscription : Septembre 2004
    Messages : 62
    Points : 59
    Points
    59
    Par défaut
    J'ai partiellement résolu le problème mais il y en a un autre qui s'est créé. Le Trigger Before Insert que j'utilise pour incrémenter automatiquement l'identifiant ne se déclenche pas.
    Un sujet similaire a déjà été posté sur le forum mais je n'ai pas tout à fait compris la réponse

  11. #11
    Membre du Club
    Inscrit en
    Septembre 2004
    Messages
    62
    Détails du profil
    Informations forums :
    Inscription : Septembre 2004
    Messages : 62
    Points : 59
    Points
    59
    Par défaut
    Le problème est résolu! J'ai dû mal initialiser une propriété puisque maintenant, le trigger before insert se déclenche correctement.
    Merci pour votre aide.

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

Discussions similaires

  1. Problème : insertion dans une BDD ACCESS avec VB
    Par Dorni dans le forum VB 6 et antérieur
    Réponses: 7
    Dernier message: 19/05/2009, 14h35
  2. Insert dans des champs INT avec des doubles quotes
    Par bannik dans le forum Requêtes
    Réponses: 3
    Dernier message: 22/04/2008, 17h44
  3. Pb d'insertion dans un champ primaire avec auto_increment
    Par jiper6f dans le forum Langage SQL
    Réponses: 5
    Dernier message: 04/09/2007, 09h11
  4. Réponses: 2
    Dernier message: 22/08/2006, 09h50
  5. Réponses: 3
    Dernier message: 19/11/2004, 21h48

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