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.
:lol:
Version imprimable
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.
:lol:
Code:IBQuery.fielbyname('NOM_DU_CHAMP').AsString
je suis pas sur d'avoir bien compris la question !Code:IBTable.fielbyname('NOM_DU_CHAMP').AsString
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
jai suposé que champ1,champ2 son de type integer;Code:
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;
bonsoir
VLDG , kroma23 merci,
je désire de modifier le champ 'NOM' par le code suivant :
mais le compilateur signale une erreur(opérateur ou point virgule manquant).Code:
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;
1/ Attention à la syntaxe qui t'a été indiquée !
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:update MATABLE set NOM = :saimb WHERE PK_NUMERO=5
Code:
1
2
3
4MonQuery.Sql.Text := 'update MATABLE set NOM = :saimb WHERE PK_NUMERO=5'; MonQuery.ParamByName.... .... MonQuery.ExecSql;
bonsoir
j'ai essaié de respecter la syntaxe de SQL dans cet exemple :
mais cette fios il y'a une erreur d'execution :Code:
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;
(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
Normal...
Comme tu l'as codé,
-nom est une colonne de la table
-le paramètre est :saim
serait plus correctCode:UnitBD.DataModule1.IBQuery1.ParamByName('saim').AsString:='nouveau nom';
A mon avis, ça doit marcherCode:
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;
Bonjour
'PNOM' représente qoui ?
C'est le paramètre
aucune erreur mais:
si on clique sur button1 la table etudiant qui a affiché dans le DIBGRID avant de cliquer est masqué totalement , pourquoi?