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

Delphi Discussion :

Afficher un message d'erreur dans un programme !


Sujet :

Delphi

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Inscrit en
    Octobre 2006
    Messages
    47
    Détails du profil
    Informations forums :
    Inscription : Octobre 2006
    Messages : 47
    Par défaut Afficher un message d'erreur dans un programme !
    Bonjour,
    je veux afficher un message dans mon programme ci_dessous :

    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
     
    procedure TForm1.ButtonRECHClick(Sender: TObject);
    var trouve : boolean;
     
    begin
       OracleDataset1.Close;
       oracleDataset1.SQL.Text:= 'select t.*, t.rowid from ops$asy.attestcmp t where t.SAD_REG_NBER='+num_rech.Text;
       OracleDataset1.Open;
    if  (oracleDataset1.SQL.Text = num_rech.Text) then
          trouve:= true
    else
        begin
         trouve := false;
         MessageBox(Handle,'Reférence déclaration inexistante', 'Information', MB_OK);
        end;
        if (trouve = true)  then
        begin
     
             if ((numdoss.Text <> '') or (numdi.Text <> '') or (types.Text <> '') or (chassis.Text <> '') or (datecir.Text <> '') or (model.Text <> '') or (datedoss.Text <> '') )  then
                 begin
                    numdoss.ReadOnly:=true;
                    numdi.ReadOnly:=true;
                    types.ReadOnly:=true;
                    chassis.ReadOnly:=true;
                    datecir.ReadOnly:=true;
                    model.ReadOnly:=true;
                    datedoss.ReadOnly:=true;
                 end
             else
                 begin
                    numdoss.ReadOnly:=false;
                    numdi.ReadOnly:=false;
                    types.ReadOnly:=false;
                    chassis.ReadOnly:=false;
                    datecir.ReadOnly:=false;
                    model.ReadOnly:=false;
                    datedoss.ReadOnly:=false;
                 end
     
             end;
         end;
    Ce message doit s'afficher uniquement quand :
    if (oracleDataset1.SQL.Text <> num_rech.Text)

    mais tel que c'est fait dans mon code, le message s'affiche à toutes les conditions, que faire ?

    Quelqu'un peut -il me donner un coup de main

    Merci

  2. #2
    Expert confirmé
    Avatar de qi130
    Homme Profil pro
    Expert Processus IT
    Inscrit en
    Mars 2003
    Messages
    3 932
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 64
    Localisation : France

    Informations professionnelles :
    Activité : Expert Processus IT
    Secteur : Finance

    Informations forums :
    Inscription : Mars 2003
    Messages : 3 932
    Par défaut
    Citation Envoyé par hadid
    mais tel que c'est fait dans mon code, le message s'affiche à toutes les conditions, que faire ?
    Bah c'est que la condition d'affichage est remplie alors...

    Il y a quoi dans num_rech.Text ? Comment c'est alimenté ?

  3. #3
    Membre averti
    Inscrit en
    Octobre 2006
    Messages
    47
    Détails du profil
    Informations forums :
    Inscription : Octobre 2006
    Messages : 47
    Par défaut
    num_rech est un entier (type number) que l'utilisateur entre dans une zone de saisie.

  4. #4
    Membre éclairé
    Inscrit en
    Septembre 2006
    Messages
    81
    Détails du profil
    Informations forums :
    Inscription : Septembre 2006
    Messages : 81
    Par défaut
    Si num_rech.Text est un entier (sous forme de string) et que tu le compare avec oracleDataset1.SQL.Text qui contient ta requête SQL (qui me parait bizzare d'ailleur), cette condition ne sera forcément jamais remplie et il va toujours passer dans le else... il y a une erreur dans ta conception ... tu ne compare pas les bonnes choses je pense

  5. #5
    Membre averti
    Inscrit en
    Octobre 2006
    Messages
    47
    Détails du profil
    Informations forums :
    Inscription : Octobre 2006
    Messages : 47
    Par défaut
    Citation Envoyé par hy00ga
    Si num_rech.Text est un entier (sous forme de string) et que tu le compare avec oracleDataset1.SQL.Text qui contient ta requête SQL (qui me parait bizzare d'ailleur), cette condition ne sera forcément jamais remplie et il va toujours passer dans le else... il y a une erreur dans ta conception ... tu ne compare pas les bonnes choses je pense
    Ce que vous dites est vrai mais le problème ce que je ne connais pas bien le langage.
    Pouvez vous me dire comment je pourrais envoyer un message quand le num_rech n'existe pas dans le base ???

    Tout mon problème c'est de dire que le numéro saisi par l'utilisateur est trouvé ou pas dans la base.


    Merci

  6. #6
    Expert confirmé
    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 : 62
    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
    Par défaut
    Salut,

    Si le N° saisi par l'utlisateur n'existe pas dans la base, alors ton DataSet ne contiendra aucun enregistrement.

    Examine la propriété RecordCount ou IsEmpty de ton DataSet, pour détecter ce genre de situation.

    @+

  7. #7
    Expert confirmé
    Avatar de qi130
    Homme Profil pro
    Expert Processus IT
    Inscrit en
    Mars 2003
    Messages
    3 932
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 64
    Localisation : France

    Informations professionnelles :
    Activité : Expert Processus IT
    Secteur : Finance

    Informations forums :
    Inscription : Mars 2003
    Messages : 3 932
    Par défaut
    Alors, Num_rech n'est pas un number....

    Ce serait pas un TEdit, par hasard ? ou quelque chose d'approchant ...

    Il nous faudrait aussi le mode de connexion utilisé , ça conditionne les propriétés accessibles pour compter le nb d'éléments retournés par la requète...

  8. #8
    Membre éclairé
    Inscrit en
    Septembre 2006
    Messages
    81
    Détails du profil
    Informations forums :
    Inscription : Septembre 2006
    Messages : 81
    Par défaut
    Impeccable alors ca m'évitera d'avoir à installer ce Oracle data acces

    Au plaisr

    PS: oublie pas le

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

Discussions similaires

  1. Afficher les messages d'erreur dans une JOptionPane
    Par nassima_1418 dans le forum AWT/Swing
    Réponses: 4
    Dernier message: 24/10/2013, 15h23
  2. Afficher un message d'erreur dans la même page
    Par ADBows dans le forum Servlets/JSP
    Réponses: 10
    Dernier message: 02/09/2011, 19h22
  3. Afficher un message d'erreur dans une fenetre
    Par guy_antoine_mav dans le forum Débuter
    Réponses: 4
    Dernier message: 27/08/2008, 11h45
  4. Afficher du texte dans un Etat: Message d'erreur dans acces.
    Par nodogeid dans le forum Requêtes et SQL.
    Réponses: 2
    Dernier message: 31/05/2007, 10h20
  5. Afficher un message d'erreur dans une fenêtre popup
    Par Quickeno dans le forum Langage
    Réponses: 7
    Dernier message: 08/10/2006, 01h56

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