Connaitre la valeur dans un INSERT

PunkDude424 Messages postés 117 Date d'inscription mardi 3 février 2004 Statut Membre Dernière intervention 24 avril 2006 - 19 mars 2006 à 21:08
aieeeuuuuu Messages postés 698 Date d'inscription jeudi 16 janvier 2003 Statut Membre Dernière intervention 20 mai 2011 - 23 mars 2006 à 11:02
Salut, je développe une application de gestion de rendez vous avec VB et SQL Server....j'ai une table rendezvous qui contient les informtions du rendez vous et une table date rdv.....qui contient la date du rendezvous.....ma table rendezvous est comme suit :
tblRendezVous
idRendezVous ->compteur autoincrémenté
idDateRdv -> lien vers la date du rendezvous
Nom
Prenom
....

tblDateRdv
idDateRdv -> compteur autoincrémenté
dateRdv
heure
minute...

Je voudrais savoir comment faire pour créer un rendezvous....c'est a dir que quand j'insere un redenz-vous je doit tout d'abord inserer une dateRdv et connaitre le idDateRdv retourner pour pouvoir le mettre dans ma table rdv....comment faire pour connaitre la valeur de idDateRdv ???

Merci

3 réponses

bipcpp Messages postés 40 Date d'inscription mardi 18 mai 2004 Statut Membre Dernière intervention 2 mai 2010
20 mars 2006 à 00:09
Bonsoir,

Je vois deux solutions :

1)
- écriture d'un enregistrement dans la table tblRendezVous
- re-lecture de la table tblRendezVous pour avoir idRendezVous
- écriture de l'enregistrement dans la table tblDateRdv

2)
- utiliser une procédure stockée qui fera l'enregistrement dans la table tblRendezVous et retournera idRendezVous
- écriture de l'enregistrement dans la table tblDateRdv

Cela revient un peu à la même chose, mais la procédure stockée ne sera définie qu'une fois.

Remarque :
J'aurais personnellement fait une table client (nom, prénom, ...)
et une table rendezvous (date, ...), cela permet de n'avoir qu'une seule fois le client.
Tu peux aussi utiliser le couple (nom,prénom) comme clé externe.
0
Mindiell Messages postés 558 Date d'inscription jeudi 25 juillet 2002 Statut Membre Dernière intervention 5 septembre 2007 1
21 mars 2006 à 09:43
Coucou,

autre solution : le trigger. Pour chaque insertion dans la table tblDateRdv, il cree automatiquement un enregistrement dans la table tblRendezVous avec certains champs mis à NULL. Ca te permet de retrouver cet enregistrement.

Attention de bien prendre en compte le cas ou plusieurs rendez-vous sont créés en même temps !
0
aieeeuuuuu Messages postés 698 Date d'inscription jeudi 16 janvier 2003 Statut Membre Dernière intervention 20 mai 2011 3
23 mars 2006 à 11:02
salut

je ne vois pas pourquoi se compliquer les choses ainsi

en effet une procédure srtockée me semble judicieuse, mais avecune seule tu cré tes deux enregistrements

tu crée d'abord ton enregistrement dans la table tblRendezVous,


ensuite tu recupere ton id qui vient d'etr ecrée automatiquement (par exemple sous SQL server, tu peux le recuperer comme ceci : @MonNouvelID = SCOPE_IDENTITY


enfin tu crée ton enregistrement dans la table tblDateRdv
0
Rejoignez-nous