Nick: Corum Oggetto: re:Asp e Access (domandina) Data: 19/3/2004 18.36.0 Visite: 43
Probabilmente il record con campo ID chiave non viene creato in tempo utile. Devi arbitrare la successione delle due insert per fare in modo che la seconda insert trovi l'ID corrispondente. A prescindere da tutto, quando entra in gioco l'integrità referenziale, è bene evitare insert che puntino ad un campo chiave senza accertarti dell'esistenza della chiave stessa. Metti la seconda insert in una bella IF esiste (campo chiave che mi serve) THEN sparo la seconda insert. ELSE esco pulito con un bel messaggio di errore che non allarma il cliente. Non mi ricordo se si può fare con Jet-Access, ma hai pensato alle transazioni? Primo statement: Open-Insert-Commit. Secondo statement: stessa cosa se esiste la chiave, altrimenti rollback. Lo puoi fare dalla stessa connection. Altrimenti, anche se può sembrare una zozzeria, chiudi la connection dopo la prima insert e poi ne apri un'altra per la seconda, probabilmente darai al Jet Engine il tempo per la creazione del record chiave e la separazione delle "transazioni".
|