commit?

commit? - SQL/NoSQL - Programmation

Marsh Posté le 07-11-2003 à 01:53:40    

salut
 
je voudrais comprendre un peu plus les bd sous delphi?
 
a partir de cette image
http://sqlpro.developpez.com/Merise/SGBDR_merise18.jpg
 
sous delphi
on créer une nouvelle commande(on botient nocommande...)
avant de pouvoir insérer des article dans composee, on doit effectuer un commit afin de pouvoir obtenir le numéro_commande et l'insérer dans composee?
 
 
 
merci


---------------
Borland rulez: http://pages.infinit.net/borland
Reply

Marsh Posté le 07-11-2003 à 01:53:40   

Reply

Marsh Posté le 07-11-2003 à 02:35:04    

un commit ne concerne (bon, en gros) que les écritures : les inserts, les delete et les update.
 
donc un petit begin, select de l'article, select du client et insert de la nouvelle commande. Puis commit.


---------------
trainoo.com, c'est fini
Reply

Marsh Posté le 07-11-2003 à 05:18:29    

nraynaud a écrit :

un commit ne concerne (bon, en gros) que les écritures : les inserts, les delete et les update.
 
donc un petit begin, select de l'article, select du client et insert de la nouvelle commande. Puis commit.


 
insert composee et ensuite insert commande...
 
alors tu pourras m'expliquer cela:
 
j'ai 3 table
 
x
===
nox
 
z
==
noz
 
y
===
nox
noz
 
sous delphi je fais un insert ainsi j'obtient noz,
ensuite je viens pour insérer nox dans y
et j'obtient un violation de contrainte pourtant noz est bien renseigné dans y  
 
on pourrait imaginé z (commande), x (client) y (composee)


---------------
Borland rulez: http://pages.infinit.net/borland
Reply

Marsh Posté le 07-11-2003 à 05:25:28    

on peut avoir le schéma physique de la base stp ?


---------------
trainoo.com, c'est fini
Reply

Marsh Posté le 07-11-2003 à 05:49:33    

nraynaud a écrit :

on peut avoir le schéma physique de la base stp ?


 
location
========
nocommande
date
total
....
 
client
======
noclient
nom
prenom
 
effectue
========
noclient
nolocation
type
 
 
client (1,n) -> effectue <- (1,n) location
 
par exemple
je créer une nouvelle location, je demande nolocation
je sélectionne un client, j'obtient noclient
 
je tente d'inseré nolocation, noclient dans effectue...
 
et alors message:  
violation de foreign key constraint 'fk_effectue_location' on table effectue
 
'fk_effectue_location' donc effectue vers location


---------------
Borland rulez: http://pages.infinit.net/borland
Reply

Marsh Posté le 10-11-2003 à 17:34:59    

Je pense que tu as répondu à ta propre question...
Tu dis : je crée une nouvelle location, je demande nolocation
Donc, s'il y a un pb d'intégrité référentielle, c'est que ta création de nouvelle ligne location n'a pas encore été prise en compte par ton SGBD, ce qui s'effectue par un COMMIT.  
Suis ton idée première, c'est la bonne!
 

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed