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 :

Recherche dans une BdD


Sujet :

Bases de données Delphi

  1. #1
    Nouveau Candidat au Club
    Inscrit en
    Juin 2008
    Messages
    131
    Détails du profil
    Informations forums :
    Inscription : Juin 2008
    Messages : 131
    Points : 0
    Points
    0
    Par défaut Recherche dans une BdD
    je voulez crée un programme qui permet de chercher des donnes dans une db
    mais je quelques problèmes
    code du procédure recherche
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
                   AdoQuery1.SQL.Clear;
                   AdoQuery1.SQL.Add('Select * From bin Where         ChampTXT='+dig);
                   AdoQuery1.Open;
    dig représente le clé(criteur) de recherche
    voici le message qui s'affiche quand je clic sur la bouton recherche

    http://www.imagup.com/imgs/1240669339.html
    et ça le message après avoir cliques sur ok dans la boite d'erreur

    http://www.imagup.com/imgs/1240669372.html

    SVP ne hésite pas a corrige mon code ou poste un autre code de recherche

  2. #2
    Membre émérite
    Homme Profil pro
    Directeur technique
    Inscrit en
    Mai 2008
    Messages
    2 401
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Algérie

    Informations professionnelles :
    Activité : Directeur technique
    Secteur : Service public

    Informations forums :
    Inscription : Mai 2008
    Messages : 2 401
    Points : 2 304
    Points
    2 304
    Par défaut
    à croire l'image tu as un problème de connexion à ta base de données. du moment que tu travaille avec ADO autant faire un 'test de connexion' avant de copier la chaine dans ton source. si c'est déjà fait alors un connect à True te permettrais de voir savoir où le problème et de nous le dire si tu t'en sors pas.

    Bonne chance.
    Bon courage ou Bonne Chance (selon le contexte)
    Mon blog sur WordPress

  3. #3
    Nouveau Candidat au Club
    Inscrit en
    Juin 2008
    Messages
    131
    Détails du profil
    Informations forums :
    Inscription : Juin 2008
    Messages : 131
    Points : 0
    Points
    0
    Par défaut
    lors de création de lien entre la base et la programme je teste et il m'affiche connexion réussi et aussi je change connecte de false a true mais il affiche encore la mémé erreur

  4. #4
    Membre émérite
    Homme Profil pro
    Directeur technique
    Inscrit en
    Mai 2008
    Messages
    2 401
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Algérie

    Informations professionnelles :
    Activité : Directeur technique
    Secteur : Service public

    Informations forums :
    Inscription : Mai 2008
    Messages : 2 401
    Points : 2 304
    Points
    2 304
    Par défaut
    Re;

    - quel SGBD utilise-tu ?
    - si tu passe la chaine de connexion manuellement poste le code de passage peut-être que tu as une erreur quelque part ?
    Bon courage ou Bonne Chance (selon le contexte)
    Mon blog sur WordPress

  5. #5
    Nouveau Candidat au Club
    Inscrit en
    Juin 2008
    Messages
    131
    Détails du profil
    Informations forums :
    Inscription : Juin 2008
    Messages : 131
    Points : 0
    Points
    0
    Par défaut
    SGBD: en realite c'est une fichier exel je le converti en MDB a l'aide d'acces
    e pour la connexion je suivie les etapes dans cet tuto :
    http://beaussier.developpez.com/arti.../DelphiADO.zip
    ('fichier pdf')

  6. #6
    Membre émérite
    Homme Profil pro
    Directeur technique
    Inscrit en
    Mai 2008
    Messages
    2 401
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Algérie

    Informations professionnelles :
    Activité : Directeur technique
    Secteur : Service public

    Informations forums :
    Inscription : Mai 2008
    Messages : 2 401
    Points : 2 304
    Points
    2 304
    Par défaut
    ok, poste le bout de code responsable de connexion et on va voir..
    Bon courage ou Bonne Chance (selon le contexte)
    Mon blog sur WordPress

  7. #7
    Nouveau Candidat au Club
    Inscrit en
    Juin 2008
    Messages
    131
    Détails du profil
    Informations forums :
    Inscription : Juin 2008
    Messages : 131
    Points : 0
    Points
    0
    Par défaut
    code responsable de connexion et on va voir
    comment je peu le reqepure ??

    et sa ce mon code du programme

    unit Unit1;

    interface

    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
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    uses
      Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
      Dialogs, StdCtrls, ExtCtrls, Buttons, ComCtrls, WinSkinData, WinSkinStore,
      jpeg, ColorGrd, DB, ADODB;
     
    type
      TForm1 = class(TForm)
        PageControl1: TPageControl;
        TabSheet1: TTabSheet;
        TabSheet2: TTabSheet;
        TabSheet3: TTabSheet;
        SkinData1: TSkinData;
        GroupBox1: TGroupBox;
        GroupBox2: TGroupBox;
        Edit1: TEdit;
        Label1: TLabel;
        Button1: TButton;
        Image1: TImage;
        GroupBox3: TGroupBox;
        Image2: TImage;
        Label2: TLabel;
        ADOConnection1: TADOConnection;
        ADOTable1: TADOTable;
        ADOTable1F1: TFloatField;
        ADOTable1F2: TWideStringField;
        DataSource1: TDataSource;
        ADOQuery1: TADOQuery;
        Image3: TImage;
        procedure Image1Click(Sender: TObject);
        procedure BitBtn1Click(Sender: TObject);
        procedure Button1Click(Sender: TObject);
      private
        { Private declarations }
      public
        { Public declarations }
      end;
     
    var
      Form1: TForm1;
     
    implementation
     
    {$R *.dfm}
     
    procedure TForm1.Image1Click(Sender: TObject);
    begin
    Tabsheet2.Show;
    end;
     
    procedure TForm1.BitBtn1Click(Sender: TObject);
    begin
    TabSheet3.Show;
    end;
     
    procedure TForm1.Button1Click(Sender: TObject);
    var dig : string;
        e,b: integer;
    begin
    dig:= edit1.Text;
    val(dig,b,e);
    if length(dig)<> 6 then  Label2.caption:=('ERROR: Bin number should be 6 digits')
    else if e <> 0 then  Label2.caption:=('ERROR: Enter only numeric')
         else  begin
                   AdoQuery1.SQL.Clear;
                   AdoQuery1.SQL.Add('Select * From bin Where ChampTXT='+QuotedStr('dig'));
                   AdoQuery1.Open;
                end;
    end;
     
    end.

  8. #8
    Membre émérite
    Homme Profil pro
    Directeur technique
    Inscrit en
    Mai 2008
    Messages
    2 401
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Algérie

    Informations professionnelles :
    Activité : Directeur technique
    Secteur : Service public

    Informations forums :
    Inscription : Mai 2008
    Messages : 2 401
    Points : 2 304
    Points
    2 304
    Par défaut
    Re;

    si j'ai bien compris tu te connecte à la conception, je te suggère de faire ça à l'exécution pour être sûr que tu ne rate rien. dans le OnCreate de ton form principal ou Module de données (si tu l'as créé) tu fais ça :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    Procedure taForm(Sende : TObject)
    var
      chaine : string; // sert à récupérer la chaine de connexion 
    begin
      chaine := ...... ;// là tu met la chaine de connexion que tu récupère depuis la conception
      ADO1.connection := chaine;
      ADO1.connect := True;
    end
    enfin pour être sûr de ta connexion tu peux très bien faire un essai avec une de tes tables en mode conception.
    Bon courage ou Bonne Chance (selon le contexte)
    Mon blog sur WordPress

  9. #9
    Nouveau Candidat au Club
    Inscrit en
    Juin 2008
    Messages
    131
    Détails du profil
    Informations forums :
    Inscription : Juin 2008
    Messages : 131
    Points : 0
    Points
    0
    Par défaut
    SVP comment je peu récupéré la chaine de connexion au BD depuis la conception

  10. #10
    Membre émérite
    Homme Profil pro
    Directeur technique
    Inscrit en
    Mai 2008
    Messages
    2 401
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Algérie

    Informations professionnelles :
    Activité : Directeur technique
    Secteur : Service public

    Informations forums :
    Inscription : Mai 2008
    Messages : 2 401
    Points : 2 304
    Points
    2 304
    Par défaut
    Salut et désolé pour le retard !

    à la conception tu est bien arrivé à faire la connexion avec le test donc rien de plus simple, tu copie la chaine qui t'a servi pour la connexion elle se trouve dans la boite de dialogue deuxième écran. un simple copier est elle est en mémoire puis dans ton programme tu peux faire ça (en supposant que tu clic sur un bouton pour te connecter) :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    procedure TForm1.Button1Click(Sender: TObject);
    begin
      ADOConnection1.ConnectionString := // place ta chaine ici par un simple coller 
      try
        Adoconnection1.Connected := True;
      except
        raise;
      end;
    end;
    Bonne chance.
    Bon courage ou Bonne Chance (selon le contexte)
    Mon blog sur WordPress

  11. #11
    Nouveau Candidat au Club
    Inscrit en
    Juin 2008
    Messages
    131
    Détails du profil
    Informations forums :
    Inscription : Juin 2008
    Messages : 131
    Points : 0
    Points
    0
    Par défaut
    Comment récupéré la chaine du conception SVP j'arrive pas a le trouve

  12. #12
    Nouveau Candidat au Club
    Inscrit en
    Juin 2008
    Messages
    131
    Détails du profil
    Informations forums :
    Inscription : Juin 2008
    Messages : 131
    Points : 0
    Points
    0
    Par défaut
    voila mon code source svp si tu peux m'aide ne hésite pas
    Fichiers attachés Fichiers attachés

  13. #13
    Membre confirmé
    Homme Profil pro
    Enseignant
    Inscrit en
    Août 2008
    Messages
    666
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Algérie

    Informations professionnelles :
    Activité : Enseignant
    Secteur : Enseignement

    Informations forums :
    Inscription : Août 2008
    Messages : 666
    Points : 643
    Points
    643
    Par défaut
    bonjour,

    voila mon code source svp si tu peux m'aide ne hésite pas
    il n'y a pas de code source! le fichier rar contient seulement le projet(Dpr) et un fichier *.mdb.
    il manque l'unité "Unit1.pas".

    a+

    NABIL74

  14. #14
    Membre confirmé
    Homme Profil pro
    Enseignant
    Inscrit en
    Août 2008
    Messages
    666
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Algérie

    Informations professionnelles :
    Activité : Enseignant
    Secteur : Enseignement

    Informations forums :
    Inscription : Août 2008
    Messages : 666
    Points : 643
    Points
    643
    Par défaut
    salut,
    Comment récupéré la chaine du conception SVP j'arrive pas a le trouve
    dans la propriété "ConnectionString" de "ADOConnection1 " ,définis ses propriétés et puis tu la récupère par un simple copier et colle-la dans ton code.
    pour être plus claire,voici un exemple:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    procedure TForm1.FormCreate(Sender: TObject);
    begin
    ADOConnection1.Connected := false;
    ADOConnection1.ConnectionString :='Provider=Microsoft.Jet.OLEDB.4.0;Data Source=C:\Mon dossier\ma base.mdb;Persist Security Info=False';
    ADOConnection1.Connected := true;
    ADOTable1.Open;
    end;
    A+

    NABIL74

  15. #15
    Nouveau Candidat au Club
    Inscrit en
    Juin 2008
    Messages
    131
    Détails du profil
    Informations forums :
    Inscription : Juin 2008
    Messages : 131
    Points : 0
    Points
    0
    Par défaut
    dsl voila mon code source(contient unit1.pas e dfm)
    Fichiers attachés Fichiers attachés

  16. #16
    Membre confirmé
    Homme Profil pro
    Enseignant
    Inscrit en
    Août 2008
    Messages
    666
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Algérie

    Informations professionnelles :
    Activité : Enseignant
    Secteur : Enseignement

    Informations forums :
    Inscription : Août 2008
    Messages : 666
    Points : 643
    Points
    643
    Par défaut
    salut,
    Ta base de données "Bins.mdb" est liée à un fichier Excel nommé "Bin"(Bin.xls) que nous n'avons pas trouver dans ton zip.il nous le faut pour cerner ton problème et essayer de trouver par la suite une solution.

    il y a des fautes dans le code qui permet d'accéder à ta base de donnée.

    sur ta fiche, le nom du composant "ADOConnection" est nommé "ADOConnection1" mais dans ton code il est nommé "ADO1".

    voici ce qu'il y avait dans la propriété "ConnectionString" de ta "ADOConnection1":
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Provider=Microsoft.Jet.OLEDB.4.0;User ID=Admin;Data Source=C:\Documents and Settings\Administrateur\Bureau\tabsheet\Bins.mdb;Mode=Share Deny None;Extended Properties="";Persist Security Info=False;Jet OLEDB:System database="";Jet OLEDB:Registry Path="";Jet OLEDB:Database Password="";Jet OLEDB:Engine Type=5;Jet OLEDB:Database Locking Mode=1;Jet OLEDB:Global Partial Bulk Ops=2;Jet OLEDB:Global Bulk Transactions=1;Jet OLEDB:New Database Password="";Jet OLEDB:Create System Database=False;Jet OLEDB:Encrypt Database=False;Jet OLEDB:Don't Copy Locale on Compact=False;Jet OLEDB:Compact Without Replica Repair=False;Jet OLEDB:SFP=False

    tu peux la codé simplement comme ça:
    ADOConnection1=>ConnectionString=
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Provider=Microsoft.Jet.OLEDB.4.0;Data Source=C:\Documents and Settings\Administrateur\Bureau\tabsheet\Bins.mdb;Persist Security Info=False
    pour créer la connection à ta BD, il suffit d'écrire ça:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
     
    procedure TForm1.FormCreate(Sender: TObject);
    begin
    ADOConnection1.Connected := false;
    ADOConnection1.ConnectionString :='Provider=Microsoft.Jet.OLEDB.4.0;Data Source=C:\Documents and Settings\Administrateur\Bureau\tabsheet\Bins.mdb;Persist Security Info=False';
    ADOConnection1.Connected := true;
    ADOTable1.Open;
    end;

    A+

    NABIL74

  17. #17
    Nouveau Candidat au Club
    Inscrit en
    Juin 2008
    Messages
    131
    Détails du profil
    Informations forums :
    Inscription : Juin 2008
    Messages : 131
    Points : 0
    Points
    0
    Par défaut
    maintenant il m'affiche le même erreur qui se trouve dans le 1er poste(voir l'image)

  18. #18
    Membre confirmé
    Homme Profil pro
    Enseignant
    Inscrit en
    Août 2008
    Messages
    666
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Algérie

    Informations professionnelles :
    Activité : Enseignant
    Secteur : Enseignement

    Informations forums :
    Inscription : Août 2008
    Messages : 666
    Points : 643
    Points
    643
    Par défaut
    Citation Envoyé par chlebta*tsotsi Voir le message
    maintenant il m'affiche le même erreur qui se trouve dans le 1er poste(voir l'image)
    si tu parles de la 1ère image, le problème c'est que tu n'as pas définit le chemin de ta base de données
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    ADOConnection1.ConnectionString :=' ... '
    jette à coup d'oeil aux cours sur ADO sur dev.com:
    http://delphi.developpez.com/cours/?...bd#sgbd-access

    Maintenant si tu parles de la 2ème image, dans ce cas l'erreur n'est pas causée par ta requête mais par le composant "VCL Skin".

    a+

    NABIl74

  19. #19
    Nouveau Candidat au Club
    Inscrit en
    Juin 2008
    Messages
    131
    Détails du profil
    Informations forums :
    Inscription : Juin 2008
    Messages : 131
    Points : 0
    Points
    0
    Par défaut
    je suivi le meme etape Du cour mes encore la mm problem et j eliminer aussi le skin mais sa marche pas encore

  20. #20
    Membre émérite
    Homme Profil pro
    Directeur technique
    Inscrit en
    Mai 2008
    Messages
    2 401
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Algérie

    Informations professionnelles :
    Activité : Directeur technique
    Secteur : Service public

    Informations forums :
    Inscription : Mai 2008
    Messages : 2 401
    Points : 2 304
    Points
    2 304
    Par défaut
    Citation Envoyé par NABIL74 Voir le message
    salut,
    Ta base de données "Bins.mdb" est liée à un fichier Excel nommé "Bin"(Bin.xls) que nous n'avons pas trouver dans ton zip.il nous le faut pour cerner ton problème et essayer de trouver par la suite une solution.

    il y a des fautes dans le code qui permet d'accéder à ta base de donnée.

    sur ta fiche, le nom du composant "ADOConnection" est nommé "ADOConnection1" mais dans ton code il est nommé "ADO1".

    voici ce qu'il y avait dans la propriété "ConnectionString" de ta "ADOConnection1":
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Provider=Microsoft.Jet.OLEDB.4.0;User ID=Admin;Data Source=C:\Documents and Settings\Administrateur\Bureau\tabsheet\Bins.mdb;Mode=Share Deny None;Extended Properties="";Persist Security Info=False;Jet OLEDB:System database="";Jet OLEDB:Registry Path="";Jet OLEDB:Database Password="";Jet OLEDB:Engine Type=5;Jet OLEDB:Database Locking Mode=1;Jet OLEDB:Global Partial Bulk Ops=2;Jet OLEDB:Global Bulk Transactions=1;Jet OLEDB:New Database Password="";Jet OLEDB:Create System Database=False;Jet OLEDB:Encrypt Database=False;Jet OLEDB:Don't Copy Locale on Compact=False;Jet OLEDB:Compact Without Replica Repair=False;Jet OLEDB:SFP=False

    tu peux la codé simplement comme ça:
    ADOConnection1=>ConnectionString=
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Provider=Microsoft.Jet.OLEDB.4.0;Data Source=C:\Documents and Settings\Administrateur\Bureau\tabsheet\Bins.mdb;Persist Security Info=False
    pour créer la connection à ta BD, il suffit d'écrire ça:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
     
    procedure TForm1.FormCreate(Sender: TObject);
    begin
    ADOConnection1.Connected := false;
    ADOConnection1.ConnectionString :='Provider=Microsoft.Jet.OLEDB.4.0;Data Source=C:\Documents and Settings\Administrateur\Bureau\tabsheet\Bins.mdb;Persist Security Info=False';
    ADOConnection1.Connected := true;
    ADOTable1.Open;
    end;

    A+

    NABIL74
    laisse tomber le cours pour le mement tout est là!
    le seul problème peut-être est le chemin où se trouve ta base de données, faut le mettre là où c'est en soulginer.
    Bon courage ou Bonne Chance (selon le contexte)
    Mon blog sur WordPress

Discussions similaires

  1. [MySQL] PHP script pour recherche dans une bdd mysql
    Par stone144 dans le forum PHP & Base de données
    Réponses: 3
    Dernier message: 07/12/2010, 12h06
  2. Recherche dans une BDD - Affichage
    Par lifeislife dans le forum PHP & Base de données
    Réponses: 0
    Dernier message: 13/09/2010, 16h54
  3. Recherche dans une BDD : gestion des doublons ?
    Par remy77 dans le forum kettle/PDI
    Réponses: 5
    Dernier message: 26/05/2009, 00h07
  4. Recherche dans une BDD
    Par tleboukaka dans le forum Bases de données
    Réponses: 1
    Dernier message: 21/02/2007, 08h16
  5. [Thread] Recherche dans une BDD
    Par Pedro dans le forum Bases de données
    Réponses: 3
    Dernier message: 04/05/2005, 14h03

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