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 :

SQL et interbase sous delphi


Sujet :

Delphi

  1. #1
    Futur Membre du Club
    Inscrit en
    Mars 2009
    Messages
    5
    Détails du profil
    Informations forums :
    Inscription : Mars 2009
    Messages : 5
    Par défaut SQL et interbase sous delphi
    bonsoir
    comment accéder aux champs d'enregistrements d'un table de base de donneés interbase et l' introduire des commandes sql dans le code source .
    D'avance merci.

  2. #2
    Membre émérite
    Profil pro
    Inscrit en
    Mars 2002
    Messages
    737
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2002
    Messages : 737
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    IBQuery.fielbyname('NOM_DU_CHAMP').AsString
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    IBTable.fielbyname('NOM_DU_CHAMP').AsString
    je suis pas sur d'avoir bien compris la question !

  3. #3
    Membre éclairé
    Homme Profil pro
    agent de fisc(les impots)
    Inscrit en
    Juillet 2006
    Messages
    427
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Algérie

    Informations professionnelles :
    Activité : agent de fisc(les impots)

    Informations forums :
    Inscription : Juillet 2006
    Messages : 427
    Par défaut
    est ce que vous voulez acceder a vos champs pour les modifier ou autre chose
    en tout cas pour modifier un champ vous pouver utiliser les requetes parametrer
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    update table nom_table set champ1=:val1,champ2:=val2,.. where condition
    parambyname('champ1').asinteger:=val1;
    parambyname('champ2').asinteger:=val2;
    execsql;
    jai suposé que champ1,champ2 son de type integer;

  4. #4
    Futur Membre du Club
    Inscrit en
    Mars 2009
    Messages
    5
    Détails du profil
    Informations forums :
    Inscription : Mars 2009
    Messages : 5
    Par défaut
    bonsoir
    VLDG , kroma23 merci,
    je désire de modifier le champ 'NOM' par le code suivant :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    procedure TForm1.Button1Click(Sender: TObject);
    begin
      update  MATABLE  set  NOM :='saimb' WHERE PK_NUMERO=5;
      parambyname('NOM').asstring:='saimb';
      execsql;
    end;
    mais le compilateur signale une erreur(opérateur ou point virgule manquant).

  5. #5
    rsc
    rsc est déconnecté
    Membre émérite
    Avatar de rsc
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Juin 2004
    Messages
    711
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 75
    Localisation : France, Côte d'Or (Bourgogne)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juin 2004
    Messages : 711
    Par défaut
    1/ Attention à la syntaxe qui t'a été indiquée !

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
      update  MATABLE  set  NOM = :saimb WHERE PK_NUMERO=5
    2/ UPDATE est une instruction SQL, pas une instruction Delphi. Tu dosi la passer par un TQuery (ou TIBQuery), dont tu fais pointer la propriété DataBaseName vers ta base. Tu fais ensuite :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    MonQuery.Sql.Text := 'update  MATABLE  set  NOM = :saimb WHERE PK_NUMERO=5';
    MonQuery.ParamByName....
    ....
    MonQuery.ExecSql;

  6. #6
    Futur Membre du Club
    Inscrit en
    Mars 2009
    Messages
    5
    Détails du profil
    Informations forums :
    Inscription : Mars 2009
    Messages : 5
    Par défaut
    bonsoir
    j'ai essaié de respecter la syntaxe de SQL dans cet exemple :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    procedure TForm1.Button1Click(Sender: TObject);
    begin
    UnitBD.DataModule1.IBQuery1.SQL.Text:='update  etudiant  set  nom =:saim where numero=2';
    UnitBD.DataModule1.IBQuery1.ParamByName('nom').AsString:='saim';
    UnitBD.DataModule1.IBQuery1.ExecSQL;
    end;
    mais cette fios il y'a une erreur d'execution :
    (provoque classe d'exeption base"IBQuery1 paramètre'nom' non trouvée " ),
    sachant que la propriété SQL de IBQuery1 préalablement est :
    select * from etudiant

  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
    Normal...

    Comme tu l'as codé,
    -nom est une colonne de la table
    -le paramètre est :saim

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    UnitBD.DataModule1.IBQuery1.ParamByName('saim').AsString:='nouveau nom';
    serait plus correct

  8. #8
    Membre éprouvé
    Avatar de Andry
    Profil pro
    Informaticien
    Inscrit en
    Juillet 2002
    Messages
    1 164
    Détails du profil
    Informations personnelles :
    Localisation : Madagascar

    Informations professionnelles :
    Activité : Informaticien

    Informations forums :
    Inscription : Juillet 2002
    Messages : 1 164
    Par défaut
    Citation Envoyé par saimb Voir le message
    bonsoir
    j'ai essaié de respecter la syntaxe de SQL dans cet exemple :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    procedure TForm1.Button1Click(Sender: TObject);
    begin
    UnitBD.DataModule1.IBQuery1.SQL.Text:='update  etudiant  set  nom =:saim where numero=2';
    UnitBD.DataModule1.IBQuery1.ParamByName('nom').AsString:='saim';
    UnitBD.DataModule1.IBQuery1.ExecSQL;
    end;
    mais cette fios il y'a une erreur d'execution :
    (provoque classe d'exeption base"IBQuery1 paramètre'nom' non trouvée " ),
    sachant que la propriété SQL de IBQuery1 préalablement est :
    select * from etudiant
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
    procedure TForm1.Button1Click(Sender: TObject);
    begin
    UnitBD.DataModule1.IBQuery1.SQL.Text:='update  etudiant  set  nom = :PNOM where numero=2';
    UnitBD.DataModule1.IBQuery1.ParamByName('PNOM').AsString:='saim';
    UnitBD.DataModule1.IBQuery1.ExecSQL;
    A mon avis, ça doit marcher

  9. #9
    Futur Membre du Club
    Inscrit en
    Mars 2009
    Messages
    5
    Détails du profil
    Informations forums :
    Inscription : Mars 2009
    Messages : 5
    Par défaut
    Bonjour

    'PNOM' représente qoui ?

  10. #10
    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
    C'est le paramètre

  11. #11
    Futur Membre du Club
    Inscrit en
    Mars 2009
    Messages
    5
    Détails du profil
    Informations forums :
    Inscription : Mars 2009
    Messages : 5
    Par défaut
    aucune erreur mais:
    si on clique sur button1 la table etudiant qui a affiché dans le DIBGRID avant de cliquer est masqué totalement , pourquoi?

Discussions similaires

  1. Procédures stockées SQL Server, récupération sous Delphi
    Par rophi dans le forum Bases de données
    Réponses: 10
    Dernier message: 03/12/2007, 14h48
  2. connection sql server 2000 sous delphi 6.0
    Par nkouo dans le forum Bases de données
    Réponses: 1
    Dernier message: 02/08/2007, 15h15
  3. mise à jour d'une table d'interbase sous delphi
    Par kouraichi35 dans le forum Bases de données
    Réponses: 2
    Dernier message: 19/10/2004, 13h09
  4. Lenteur Interbase sous Delphi
    Par ETOKA dans le forum Bases de données
    Réponses: 3
    Dernier message: 29/09/2004, 14h21
  5. Recuperationd des Vues Interbase sous Delphi
    Par Andry dans le forum Bases de données
    Réponses: 2
    Dernier message: 18/07/2004, 12h09

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