Précédent   Forum des professionnels en informatique > Bases de données > Langage SQL
Langage SQL Forum d'entraide sur le langage SQL et sur les questions liées à la conception de schéma (DDL). Cours SQL
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 24/02/2011, 16h37   #1
Invité de passage
 
Inscription : février 2008
Messages : 14
Détails du profil
Informations forums :
Inscription : février 2008
Messages : 14
Points : 2
Points : 2
Par défaut Insertion dans une table

Bonsoir,
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 :

Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
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 :U,:I,:IDC FROM CHAMBRE)'); 
ParamByName('U').AsDate := ddd; 
ParamByName('I').AsDate := ddf; 
ParamByName('IDC').AsInteger :=idchambre; 
ExecSQL; 
end; 
 
end;
je demande de l'aide pour mener a bien mon travail
Cordialement!
mahzongo est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 24/02/2011, 16h52   #2
Modérateur
 
Avatar de CinePhil
 
Homme Philippe Leménager
Ingénieur d'études en informatique
Inscription : août 2006
Messages : 10 993
Détails du profil
Informations personnelles :
Nom : Homme Philippe Leménager
Âge : 48
Localisation : France, Haute Garonne (Midi Pyrénées)

Informations professionnelles :
Activité : Ingénieur d'études en informatique
Secteur : Enseignement

Informations forums :
Inscription : août 2006
Messages : 10 993
Points : 18 246
Points : 18 246
Envoyer un message via MSN à CinePhil
Dans le cadre de ce forum consacré au langage SQL, voici la partie intéressante du code, remise en forme :
Code :
1
2
INSERT INTO RESERVATION (DATEDR, DATEFR, IDRESERVATION) 
VALUES (SELECT :U,:I,:IDC FROM CHAMBRE)
Traduction de la requête :
" Insérer dans les colonnes DATEDR, DATEFR, IDRESERVATION de la table RESERVATION les valeurs des colonnes dont le nom est donné par les paramètres U, I et IDC de la table CHAMBRE."
Comme tes paramètres ne sont pas des noms de colonne mais des valeurs, le SGBD ne trouve pas les colonnes correspondant à ces valeurs et te renvoie probablement un joli message d'erreur !

Puisque tu as déjà les valeurs, inutile de faire un SELECT sur la table des chambres !
Code :
1
2
INSERT INTO RESERVATION (DATEDR, DATEFR, IDRESERVATION) 
VALUES ( :U,:I,:IDC)
__________________
Philippe Leménager. Ingénieur d'étude à l'École Nationale de Formation Agronomique.
Mon blog sur la conception des BDD, le langage SQL, le PHP avec Zend Framework...
« Ce que l'on conçoit bien s'énonce clairement, et les mots pour le dire arrivent aisément ». (Nicolas Boileau)
À la maison comme au bureau, j'utilise Mandriva Linux ou Mageïa ! Soutenons l'industrie logicielle française !
Linuxiens, comptez-vous !
CinePhil est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 16h42.


 
 
 
 
Partenaires

Hébergement Web