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 :

Problème requête SQL [Lazarus]


Sujet :

Bases de données Delphi

  1. #1
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Novembre 2006
    Messages
    39
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Novembre 2006
    Messages : 39
    Points : 28
    Points
    28
    Par défaut Problème requête SQL [Lazarus]
    Bonjour a tous,

    Je viens vous demander si vous vous etes déjà trouvé devant ce cas, je m'explique :

    J'ai une fonction qui me permet de pouvoir afficher des info de la DB mais si j'utilise exactement la meme en dessous j'ai un message :s
    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
    //////////////////////////////////   Recherche par année
            SQLQuery1.Active:=False;
                if ComboBox1.Text = 'Selectionnez' then
                    // ben rien :)
                  else
                    begin
                     SQLQuery1.SQL.Clear;
                     SQLQuery1.SQL.Text:='SELECT * FROM TableDossiers'+' WHERE annee = ' + ComboBox1.Items.Strings[ComboBox1.ItemIndex];
                     SQLQuery1.Active:=True;
                     SQLQuery1.First;
                     if (SQLQuery1.RecordCount > 0) then
                       begin
                          While not  SQLQuery1.Eof do
                            begin
                              ListBox1.Items.Add(SQLQuery1.FieldByName('annee').AsString);
                              ListBox2.Items.Add(SQLQuery1.FieldByName('modele').AsString);
                              ListBox3.Items.Add(SQLQuery1.FieldByName('langue').AsString);
                              ListBox4.Items.Add(SQLQuery1.FieldByName('ref').AsString);
                              ListBox5.Items.Add(SQLQuery1.FieldByName('quantite').AsString);
                              ListBox6.Items.Add(SQLQuery1.FieldByName('NomDossiers').AsString);
                              SQLQuery1.Next;
                            end;
                       end;
                       SQLQuery1.Active:=False;
                    end;
     
    ///////////////////////////////////////
     
    //////////////////////////////////   Recherche par modèle
     
                if ComboBox2.Text = 'Selectionnez' then
                    // ben rien :)
                  else
                    begin
                    test := ComboBox2.Items.Strings[ComboBox2.ItemIndex];
                      SQLQuery1.SQL.Clear;
                      SQLQuery1.Active:=False;
                      SQLQuery1.SQL.Clear;
                      SQLQuery1.SQL.Text:='SELECT * FROM TableDossiers WHERE modele = ' + test;
                      SQLQuery1.Active:=True;
                      SQLQuery1.First;
                      if (SQLQuery1.RecordCount > 0) then
                        begin
                          While not SQLQuery1.Eof do
                            begin
                              ListBox1.Items.Add(SQLQuery1.FieldByName('annee').AsString);
                              ListBox2.Items.Add(SQLQuery1.FieldByName('Modele').AsString);
                              ListBox3.Items.Add(SQLQuery1.FieldByName('langue').AsString);
                              ListBox4.Items.Add(SQLQuery1.FieldByName('ref').AsString);
                              ListBox5.Items.Add(SQLQuery1.FieldByName('quantite').AsString);
                              ListBox6.Items.Add(SQLQuery1.FieldByName('NomDossiers').AsString);
                              SQLQuery1.Next;
                            end;
                        end;
                        SQLQuery1.Active:=False;
                    end;
     
    ///////////////////////////////////////
    voila, la première partir fonctionne parfaitement mais la seconde stipule "Trop peu de parametres :s" alors que c'est un simple SELECT, je ne sais quoi faire...

    Merci beaucoup pour votre présence

    inc002

    EDIT : J'ai testé en séparant les deux block avec un 2nd bouton et le resulat est le même, est-ce un problème de syntaxe ?

  2. #2
    Expert éminent sénior
    Avatar de Cl@udius
    Homme Profil pro
    Développeur Web
    Inscrit en
    Février 2006
    Messages
    4 878
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 61
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Matériel informatique

    Informations forums :
    Inscription : Février 2006
    Messages : 4 878
    Points : 10 008
    Points
    10 008
    Par défaut
    Salut

    Le champ Modele de ta table TableDossiers est de quel type ?

    @+ Claudius

  3. #3
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Novembre 2006
    Messages
    39
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Novembre 2006
    Messages : 39
    Points : 28
    Points
    28
    Par défaut
    Bonjour Claudius

    Il est de type texte, j'ai oublié de préciser que j'utilise une base sous Access 2003

  4. #4
    Expert éminent sénior
    Avatar de Cl@udius
    Homme Profil pro
    Développeur Web
    Inscrit en
    Février 2006
    Messages
    4 878
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 61
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Matériel informatique

    Informations forums :
    Inscription : Février 2006
    Messages : 4 878
    Points : 10 008
    Points
    10 008
    Par défaut
    Re,

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    SQLQuery1.SQL.Text:='SELECT * FROM TableDossiers WHERE modele = ' + QuotedStr(test);
    Ca devrait aller mieux.

    @+

  5. #5
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Novembre 2006
    Messages
    39
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Novembre 2006
    Messages : 39
    Points : 28
    Points
    28
    Par défaut
    Merci mille fois !

    Estce que (pour bien faire et eviter d'e******er) les gens je pourrais avoir une page ou un récap des syntaxes de SQL pour le pascal (delphi ou freepascal, je ne sais pas s'il il y a des différences d'exécutions des strings vers la DB) pour les instructions les plus courantes tel que UPDATE INSERT ect...

    Merci encore opour cette astuce et bon appétit !

  6. #6
    Expert éminent sénior
    Avatar de Cl@udius
    Homme Profil pro
    Développeur Web
    Inscrit en
    Février 2006
    Messages
    4 878
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 61
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Matériel informatique

    Informations forums :
    Inscription : Février 2006
    Messages : 4 878
    Points : 10 008
    Points
    10 008
    Par défaut
    Citation Envoyé par inc002
    un récap des syntaxes de SQL pour le pascal (delphi ou freepascal...
    En fait ce n'est pas lié à Delphi mais au SGDB que tu utilises, Access dans ton cas.
    Il faut donc potasser la doc SQL d'Access.

    Sinon tu as des cours SQL sur ce site: ici.

    @+

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

Discussions similaires

  1. Problème requête SQL
    Par mandaillou dans le forum Langage SQL
    Réponses: 15
    Dernier message: 03/10/2005, 11h37
  2. Problème requête SQL dans page ASP
    Par rocs dans le forum ASP
    Réponses: 14
    Dernier message: 26/07/2005, 15h38
  3. problème requête sql
    Par psychoBob dans le forum Langage SQL
    Réponses: 1
    Dernier message: 10/07/2005, 17h50
  4. problème requête sql
    Par perfectdams dans le forum Requêtes et SQL.
    Réponses: 5
    Dernier message: 21/06/2005, 18h09
  5. Réponses: 8
    Dernier message: 23/10/2003, 16h22

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