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 :

Interbase : écrire dans la base avec un DBGrid et un DBnavigator


Sujet :

Bases de données Delphi

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Homme Profil pro
    Retraité
    Inscrit en
    Décembre 2010
    Messages
    109
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Doubs (Franche Comté)

    Informations professionnelles :
    Activité : Retraité

    Informations forums :
    Inscription : Décembre 2010
    Messages : 109
    Par défaut Interbase : écrire dans la base avec un DBGrid et un DBnavigator
    Bonjour à tous,
    Malgré toutes mes recherches , je n'arrive pas à trouver la réponse à ce problème.
    Sur ma fiche, j'ai les composants suivants : DBgrid, dbnavigator, IBDatabase, IBTable, Datasource, IBdataset, IBquery et IBTransaction.
    Les données s'affichent correctement dans le dbgrid et je peux me déplacer dans la table grâce aux boutons du DBNavigator.
    J'ai bien bien mis dgediting de DBgrid à True.
    Quand je clique sur une cellule de DBgrid, elle se met bien en surbrillance (bleu) mais je ne peux pas la modifier.
    D'autre part, seuls les boutons de déplacement dans le DBnavigator sont actifs, tous les autres sont grisés.
    Qu'ai-je oublié ?
    Merci de votre aide
    JLouis

  2. #2
    Rédacteur/Modérateur

    Avatar de SergioMaster
    Homme Profil pro
    Développeur informatique retraité
    Inscrit en
    Janvier 2007
    Messages
    15 671
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 69
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Développeur informatique retraité
    Secteur : Industrie

    Informations forums :
    Inscription : Janvier 2007
    Messages : 15 671
    Billets dans le blog
    65
    Par défaut
    Bonjour,

    le datasource est lié à IBTable ou a IBQuery ?
    Dans le cas de IBTable il ne devrait pas y avoir de souci (s'il y a au moins une clé unique) dans le cas ou ce serait le query cela dépendra de la requête mais AMHA et si mes souvenirs sont bon il faut lui associer un IBUpdateSQL

  3. #3
    Membre confirmé
    Homme Profil pro
    Retraité
    Inscrit en
    Décembre 2010
    Messages
    109
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Doubs (Franche Comté)

    Informations professionnelles :
    Activité : Retraité

    Informations forums :
    Inscription : Décembre 2010
    Messages : 109
    Par défaut
    Citation Envoyé par SergioMaster Voir le message
    le datasource est lié à IBTable ou a IBQuery ?
    Datasouce1.dataset:=IbQuery1

    si je mets Datasource1.Dataset:=IBTable1, il me met un message d'erreur : liaison de données circulaires non autorisées (d'ailleurs je ne l'ai pas comme choix possible, je l'ai écrit à la main!)

    JL

  4. #4
    Membre confirmé
    Homme Profil pro
    Retraité
    Inscrit en
    Décembre 2010
    Messages
    109
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Doubs (Franche Comté)

    Informations professionnelles :
    Activité : Retraité

    Informations forums :
    Inscription : Décembre 2010
    Messages : 109
    Par défaut
    Citation Envoyé par SergioMaster Voir le message
    dans le cas ou ce serait le query cela dépendra de la requête mais AMHA et si mes souvenirs sont bon il faut lui associer un IBUpdateSQL
    Je n'ai écrit aucun code particulier. Tout a été fait à la conception.
    Le seul code que j'ai écrit c'est :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    procedure TForm1.Button1Click(Sender: TObject);
    begin
        IBQuery1.Close;
        IBQuery1.SQL.Clear;
        IBQuery1.SQL.Add('SELECT * FROM MYTABLE');
        IBQuery1.Open;
    end;
    JL

  5. #5
    Membre Expert
    Avatar de ALWEBER
    Homme Profil pro
    Expert Delphi
    Inscrit en
    Mars 2006
    Messages
    1 544
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 70
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : Expert Delphi

    Informations forums :
    Inscription : Mars 2006
    Messages : 1 544
    Billets dans le blog
    10
    Par défaut
    Utiliser un composant table en lieu et place du query

  6. #6
    Rédacteur/Modérateur

    Avatar de SergioMaster
    Homme Profil pro
    Développeur informatique retraité
    Inscrit en
    Janvier 2007
    Messages
    15 671
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 69
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Développeur informatique retraité
    Secteur : Industrie

    Informations forums :
    Inscription : Janvier 2007
    Messages : 15 671
    Billets dans le blog
    65
    Par défaut
    Cela fait un moment que je n'utilise plus Interbase et donc n'ai jamais vraiment utilisé les IBxxxxxx mais je viens de refaire l'exercice

    en design il vous faut quelque chose de ce genre la propriété UpdateObject de la requête IBQuery1 doit être renseignée à IBUpdateSQL
    à partir de là, générez le SQL nécessaire et vous obtiendrez alors une requête en mise à jour

    si je mets Datasource1.Dataset:=IBTable1, il me met un message d'erreur : liaison de données circulaires non autorisées (d'ailleurs je ne l'ai pas comme choix possible, je l'ai écrit à la main!)
    bon, ça c'est un problème différent vous avez du mettre quelque part une référence vérifiez les propriétés mastersource

  7. #7
    Membre confirmé
    Homme Profil pro
    Retraité
    Inscrit en
    Décembre 2010
    Messages
    109
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Doubs (Franche Comté)

    Informations professionnelles :
    Activité : Retraité

    Informations forums :
    Inscription : Décembre 2010
    Messages : 109
    Par défaut
    Bonjour à tous,

    Je viens de mettre le composant IBUpdatesql comme suggéré par SergioMaster.
    J'ai renseigné la propriété insert en mettant "Update MyTable" et fais les liaisons avec les autres composants et tout fonctionne.
    Merci encore ça faisait 8 jours que je cherchais.

    JL

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

Discussions similaires

  1. Réponses: 7
    Dernier message: 26/05/2007, 15h14
  2. [MySQL] Enregistrement dans la base avec "stripslashes"
    Par albedo0 dans le forum PHP & Base de données
    Réponses: 1
    Dernier message: 21/05/2007, 13h46
  3. comment écrire dans un fichier avec Ant-apache
    Par sidi.elmoctar dans le forum XML/XSL et SOAP
    Réponses: 1
    Dernier message: 25/04/2006, 17h44
  4. Réponses: 5
    Dernier message: 20/03/2006, 14h44
  5. jointure et rechche dans une base avec sql
    Par sabrina22 dans le forum Bases de données
    Réponses: 9
    Dernier message: 06/01/2006, 13h27

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