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 :

incompréhension avec ado


Sujet :

Bases de données Delphi

  1. #1
    Membre habitué
    Profil pro
    Inscrit en
    Mars 2003
    Messages
    154
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Mars 2003
    Messages : 154
    Points : 164
    Points
    164
    Par défaut incompréhension avec ado
    Bonjour à tous,

    j'essaie les connexions ado et lorsque je fais un select sur une table vide, je suis en erreur lors de la fermeture du TADOQuery car apparemment, afin de cloturer une requete select, on doit etre positionné sur un champs.
    Je me suis donc dit que si on select menait à un Eof directement, p-e n'était il pas nécessaire de fermer la requete. Hélas, la meme erreur se produit puisque la source de données n'a pas été fermée.

    voici un exemple de code similaire à ce que je tente de faire :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
     
    ADOquery.SQL.Clear;
    ADOquery.SQL.Add('select * from table');
    //table vide
    ADOquery.open;
     
    //code en erreur
    ADOquery.Close
     
    ADOquery.SQL.Clear;
    ADOquery.SQL.Add('insert into table');
    D'avance, merci.

  2. #2
    Membre habitué
    Profil pro
    Inscrit en
    Mars 2003
    Messages
    154
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Mars 2003
    Messages : 154
    Points : 164
    Points
    164
    Par défaut
    j'ai relu certains sujets parlant de cette erreur.

    je dois avouer que le logiciel que j'ai conçu reste relativement instable.

    je me demande si tout ne fonctionnerait pas meiux si l'objet ADOQuery était détruit après chaque utilisation et recréer pour chaque nouvelle procédure.

    Où puis-je trouver un exemple de source ou un tutorial au sujet de la création et de la destruction d'objet en delphi ?

    D'avance, merci !

  3. #3
    Membre du Club
    Inscrit en
    Janvier 2004
    Messages
    66
    Détails du profil
    Informations forums :
    Inscription : Janvier 2004
    Messages : 66
    Points : 63
    Points
    63
    Par défaut
    bonjour
    peut etre en branchant une adotable sur la m source
    et en faisant une condition style:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    if DataSource1.DataSet.RecordCount>0 then ADOquery.open;
    ça évite de faire une requette sur une table vide

  4. #4
    Membre habitué Avatar de alexmorel
    Profil pro
    Inscrit en
    Septembre 2003
    Messages
    196
    Détails du profil
    Informations personnelles :
    Âge : 41
    Localisation : Suisse

    Informations forums :
    Inscription : Septembre 2003
    Messages : 196
    Points : 157
    Points
    157
    Par défaut
    tu peux aussi

    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
     
    {Tu test si ta table à des données}
    ADOquery.SQL.Clear; 
    ADOquery.SQL.Add('select count(*) from table');
    ADOquery.Open;
    {Si oui}  
    If ADOquery.Fields(0)>0 Then
      Begin
         ADOquery.Close;
         ADOquery.SQL.Clear; 
         ADOquery.SQL.Add('select * from table');
         ADOquery.Open; 
      End
    {si non}
    Else
      Begin
         ADOquery.Close;
         ADOquery.SQL.Clear; 
         ADOquery.SQL.Add('insert into table');
         ADOquery.Open; 
      End;
    Tu peux test c'est pas une mauvaise solution !!!

    Redemande si ça te convient pas
    A.Morel

Discussions similaires

  1. Delphi et MySQL avec ADO
    Par sylviefrfr dans le forum Bases de données
    Réponses: 8
    Dernier message: 05/12/2007, 14h15
  2. Problème avec Ado, MySQL
    Par sylvain.g dans le forum Bases de données
    Réponses: 2
    Dernier message: 07/06/2005, 10h45
  3. problem avec ado
    Par denza1 dans le forum Bases de données
    Réponses: 2
    Dernier message: 29/09/2004, 16h32
  4. probleme avec ADO
    Par k_boy dans le forum Bases de données
    Réponses: 5
    Dernier message: 24/02/2004, 13h07
  5. Bug sur la prorpiété required d'un TField avec ADO ???
    Par denrette dans le forum Bases de données
    Réponses: 6
    Dernier message: 04/11/2003, 11h04

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