mahz
Messages postés26Date d'inscriptionmercredi 14 janvier 2009StatutMembreDernière intervention20 mai 2011
-
25 févr. 2011 à 10:42
mahz
Messages postés26Date d'inscriptionmercredi 14 janvier 2009StatutMembreDernière intervention20 mai 2011
-
2 mars 2011 à 13:19
Bonjour,
J'ai un probleme d'insertion dans une table.Je m'explique :
j'ai deux table a savoir chambre et reservation. Je veux inserer quelques donnees de la table chambre dans la table reservation.Pour cela j'ai voulu passer passer par une requete mais qui ne marche pas.
Voici la procedure :
procedure Tchamb_dispo.BitBtn5Click(Sender: TObject);
Var idchambre:integer;
ddd,ddf : TDateTime;
begin
idchambre:=Grille.DataSource.DataSet.FieldbyName('IDCHAMBRE_SERVI').AsInteger ;
ddd := Grille.DataSource.DataSet.FieldbyName('DATED').AsDateTime;
ddf := Grille.DataSource.DataSet.FieldbyName('DATEF').AsDateTime
with DMReserv.IBQReserv do
begin
SQL.Clear;
SQL.Add('insert into RESERVATION (DATEDR, DATEFR, IDRESERVATION) values (SELECT :DD, :DF,:IDC FROM CHAMBRE)');
ParamByName('DD').AsDate := ddd;
ParamByName('DF').AsDate := ddf;
ParamByName('IDC').AsInteger :=idchambre;
ExecSQL;
end;
end;
je demande de l'aide pour mener a bien mon travail
Cordialement!
cs_cantador
Messages postés4720Date d'inscriptiondimanche 26 février 2006StatutModérateurDernière intervention31 juillet 202113 1 mars 2011 à 10:34
Bonjour,
mais qui ne marche pas.
Il faut être plus précis..(messages d'erreurs, mettre des points d'arrêt, tester les valeurs etc..etc..)
Ce n'est pas facile de débugger ce genre de situation car on ne voit pas les liens que tu as pu mettre ou omettre entre les deux tables ni leurs structures..
De plus, tu fais une insertion dans la table "Maître" sans définir la clé...
Au vu du peu d'information stockées, tu pourrais peut-être commencer par
créer un formulaire et stocker les infos sur un clic de bouton :
Re
je pence que ta requete et plein des faute de syntaxe
Essai ce code
ibquery1.close;
ibquery1.sql.clear;
ibquery1.sql.add(insert into reservation(datedr,datefr,idreservation) values(:dd,:df,:idc) from chambre');
ibquery1.parambyname('dd').asstring:=edit1.text;
ibquery1.parambyname('df').asstring:=edit2.text;
ibquery1.parambyname('idc').asstring:=edit3.text;
ibquery1.execsql;
sachant que edit1,edit2,edit3 ce sont des champs qui va contenir vos donnée a inserer
et en plus les edit sont de type string c pour ca tu met asstring au lieu le asdate ou asinteger
cs_kroma23
Messages postés20Date d'inscriptiondimanche 16 juillet 2006StatutMembreDernière intervention22 mars 20121 2 mars 2011 à 11:48
re
mais si vous voulez copie le contenue d'une table vere une autre table
voila la syntaxe
sql.add('INSERT INTO table_cible
SELECT * FROM table_source');
pour votre cas vous faite
sql.add('insert into reservation select * from chambre');
sachant que les champs de la table reservation= a les champs table chambre.
a+++