Gebruik de methode
SQLConnection.attach()
om een verbinding met een andere database te openen voor een
SQLConnection
-instantie die al een open database heeft. Geef de verbonden database een naam met behulp van de parameter “name” via het oproepen van de methode
attach()
. Wanneer u vervolgens instructies voor het bewerken van de desbetreffende database schrijft, kunt u die naam in een voorvoegsel gebruiken (met de syntaxis
databasenaam.tabelnaam
) om eventuele tabelnamen in uw SQL-instructies te definiëren, zodat de runtime weet dat de tabel zich in de opgegeven database bevindt.
U kunt werken met één SQL-instructie die verwijst naar tabellen uit meerdere databases die zijn verbonden met dezelfde SQLConnection-instantie. Als een transactie voor de SQLConnection-instantie wordt gecreëerd, geldt de desbetreffende transactie voor alle SQL-instructies die met behulp van de SQLConnection-instantie worden uitgevoerd. Deze regel geldt altijd, ongeacht de database waarop de instructie wordt uitgevoerd.
U kunt echter ook meerdere SQLConnection-instanties in een toepassing creëren, waarbij elke instantie is verbonden met een of meer databases. Als u echter meerdere verbindingen met dezelfde database gebruikt, mag u niet vergeten dat databasetransacties niet worden gedeeld over SQLConnection-instanties. Dit betekent dat als u via meerdere SQLConnection-instanties verbinding maakt met hetzelfde databasebestand, u er niet op mag vertrouwen dat de wijzigingen in de gegevens van beide verbindingen op de verwachte manier worden doorgevoerd. Als bijvoorbeeld twee
UPDATE
- of
DELETE
-instructies op dezelfde database maar via verschillende SQLConnection-instanties worden uitgevoerd en er een toepassingsfout optreedt na één bewerking, bevinden de databasegegevens zich mogelijk in een onomkeerbare tussenfase, waardoor de integriteit van de database (en dus ook van de toepassing) in gevaar kan komen.
|
|
|