[Delphi7][ADO][MS-SQL]Problème avec TADOquery en maître détail
ola tout le monde!
j'ai une application delphi7 avec sgbd sql serveur connécté en ODBC et utilisant des composant ADO
mon probleme porte sur 2 table dans ma bdd,commande et lignedecommande
je suis entrein de créé un masque de saisie pour une commande, le masque doit pouvoir inseré dans la base un client avec plusieur porduits commandé par ce dernier
maintenant le code que j'a réalisé
pour inseré une nouvelle commande j'ai utilisé le composant ADOQuery comme suit
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22
| procedure TFinsertcde.Button4Click(Sender: TObject);
begin
if MessageDlg('Confirmez-vous la creation de la nouvelle commande du client dont le code est '+
DBEdit1.Text,
mtConfirmation, [mbYes, mbNo], 0) = mrYes
then begin
with ADOQuery1 do
begin
SQL.Clear;
SQL.Add('Insert into commande (codcli,datcde) Values (');
SQL.Add(Quotedstr(DBEdit1.Text)+',');
SQL.Add(Quotedstr(DateToStr(Date))+')');
ExecSQL;
Close;
end;
button2.Enabled:=true;
button4.Enabled:=false;
adoquery3.Active:=false;
adoquery3.Active:=true;
end;
end; |
ici DBEdit1 et le champ codeclient
pour inseré la nouvelle clé de commande dans la table lignedecommande j'ai bidouillé comme suit
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20
| procedure TFqteprod.Button1Click(Sender: TObject);
var codprod:string;
begin
codprod:=Fajoutprod.DBGrid1.DataSource.DataSet.Fields.Fields[0].AsString;
with Finsertcde.ADOQuery2 do
begin
SQL.Clear;
SQL.Add('Insert into lignecommande (numcde,codprod,qte) Values (');
SQL.Add(Quotedstr(finsertcde.DBEdit4.Text)+',');
SQL.Add(Quotedstr(codprod)+',');
SQL.Add(Quotedstr(Edit1.Text)+')');
ExecSQL;
Close;
end;
close;
Fajoutprod.Close;
Finsertcde.ADOQuery5.Active:=false;
Finsertcde.ADOQuery5.Active:=true;
end; |
ce code ajoute un produit a ma commande
ici DBedit4 est le champ codcommande alimenté par la une ADOquery avec la requette
Code:
select max (numcde) from commande
maintenant quand je regarde dans ma bdd tout est inséré correctement, le problem c'est que j 'arrive pas a affiché les porduit lié a ma commande directement apres l'insertion ou la j 'utilise 2 adoquery en maitre detail avec respectivement les requetes suivantes
Code:
SELECT * from commande
et
Code:
1 2 3 4
|
SELECT codprod
from lignecommande
Where lignecommande.numcde =:numcde |
ps:c'est le mem sujet que le post [adoquery +sqlserveur + IHM pourri ] http://www.developpez.net/forums/sho...d.php?t=304573
que j'ai délesté , j 'ésper que j 'ai pas enfrein les regles du forum , mon attention etait d'etre plus claire sans plus
cordialment NapZ .. ter