Paket | flash.data |
Klass | public class SQLConnection |
Arv | SQLConnection EventDispatcher Object |
Språkversion: | ActionScript 3.0 |
Körningsmiljöversioner: | AIR 1.0 |
Funktionerna för klassen SQLConnection kan delas in i flera kategorier:
-
En lokal SQL-databasfil skapas eller öppnas när metoden
open()
anropas eller SQLConnection-instansen för SQLStatement-egenskapensqlConnection
anropas. -
Klassen SQLConnection anger också läge för SQL-satser, inklusive en mekanism för att köra flera satser i en transaktion. Transaktioner hanteras med metoderna
begin()
,commit()
ochrollback()
. Dessutom kan metodernasetSavepoint()
,releaseSavepoint()
ochrollbackToSavepoint()
användas för att definiera och hantera lagringspunkter. De används för att indela transaktioner i uppsättningar av åtgärder. -
Klassen SQLConnection ger åtkomst till databasschemainformation för anslutna databaser. Ett databasschema beskriver definitionerna för tabellerna, kolumnerna, indexen och utlösarna. Mer information finns i
loadSchema()
-metoden. -
Klassen SQLConnection ger möjlighet att kryptera databaser med hjälp av AES med CCM. Detta ger både autentisering och sekretess för data. Om du vill kryptera en databas måste du ange en nyckel på 16 byte (som anges med en ByteArray) när databasen skapas. Du kan senare ändra den här nyckeln med
SQLConnection.reencrypt()
. Om du krypterar går det långsammare att skriva till och läsa från databasen. Kryptering används på data som lagras på disken, men inte på en tillfällig datacache i minnet. Kryptering går inte att använda för in-memory-databaser. -
En SQLConnection-instans kan användas för att ta emot händelsemeddelanden på databasnivå och tillhandahålla konfigurationskontroller för alla databasfunktioner, inklusive storlek på cachesidor, avbrytande av processer och satskörningsalternativ.
En SQLConnection
-instans fungerar i ett av två olika körningslägen: asynkront och synkront. Om du vill använda synkron körning använder du metoden open()
för att ansluta till huvuddatabasen för SQLConnection-instansen. Om du vill använda asynkron körning använder du metoden openAsync()
för att ansluta till huvuddatabasen för instansen.
Om du använder asynkron körning använder du händelseavlyssnare eller en Responder-instans för att avgöra om en åtgärd har slutförts eller misslyckats. Åtgärderna körs i bakgrunden snarare än i huvudprogramtråden, så programmet fortsätter att köra och svarar på användarinteraktioner även medan databasåtgärderna utförs. Varje asynkron SQLConnection-instans kör SQL-satser i sin egen tråd.
I asynkront körningsläge inleder du en specifik åtgärd med att anropa en passande metod, och du kan känna av om åtgärden har slutförts (eller misslyckats) genom att registrera en avlyssnare för händelsen ifråga. Varje åtgärd har en tillhörande händelse som skickas när åtgärden har slutförts, till exempel skickas open
-händelsen när ett openAsync()
-metodanrop har slutförts (när databasanslutningen har öppnats). Om en åtgärd misslyckas skickas en error
-händelse. Instansen SQLError i SQLErrorEvent-objektets error
-egenskap innehåller information om det specifika felet, inklusive åtgärden som skulle utföras och anledningen till att åtgärden misslyckades.
Vid synkron körning behöver du inte registrera händelseavlyssnare för att avgöra om en åtgärd har slutförts eller misslyckats. Identifiera fel genom att avgränsa felgenererande satser i ett try..catch
-block. Med orsak av att synkrona åtgärder körs i huvudkörningstråden pausas all programfunktion (inklusive uppdatering av skärmen och interaktion med mus och tangentbord) medan databasåtgärden eller databasåtgärderna utförs. För tidskrävande åtgärder kan detta orsaka märkbara pauser i programmet.
Lär dig mer
Snabbstart: Arbeta asynkront med en lokal SQL-databas (Flash)
Snabbstart: Arbeta asynkront med en lokal SQL-databas (HTML)
Snabbstart: Arbeta synkront med en lokal SQL-databas (Flex)
Snabbstart: Arbeta synkront med en lokal SQL-databas (Flash)
Snabbstart: Arbeta synkront med en lokal SQL-databas (HTML)
Relaterade API-element
Egenskap | Definieras med | ||
---|---|---|---|
autoCompact : Boolean [skrivskyddad]
Anger om automatisk komprimering var aktiverad när den aktuella databasen ursprungligen skapades (värdet som angavs för parametern autoCompact i open()- eller openAsync()-anropet som skapade databasen). | SQLConnection | ||
cacheSize : uint
Ger åtkomst till anslutningens cache-storlek som representerar det högsta antalet databasdisksidor som hålls i minnet åt gången. | SQLConnection | ||
columnNameStyle : String
Anger hur kolumnnamn rapporteras i SELECT-satsresultatet. | SQLConnection | ||
connected : Boolean [skrivskyddad]
Anger om SQLConnection-instansen har en öppen anslutning till en databasfil. | SQLConnection | ||
constructor : Object
En referens till klassobjektet eller konstruktorfunktionen för en given objektinstans. | Object | ||
inTransaction : Boolean [skrivskyddad]
Anger om anslutningen för närvarande används i en transaktion. | SQLConnection | ||
isSupported : Boolean [statisk] [skrivskyddad]
Anger om SQLConnection-klassen stöds på den aktuella plattformen eller inte. | SQLConnection | ||
lastInsertRowID : Number [skrivskyddad]
Radidentifierare av den senaste raden som har skapats av en SQL INSERT-sats. | SQLConnection | ||
pageSize : uint [skrivskyddad]
Anger databasens sidstorlek (i byte) som angavs när den aktuella databasen ursprungligen skapades (värdet som angavs för parametern pageSize i open()- eller openAsync()-anropet som skapade databasen). | SQLConnection | ||
totalChanges : Number [skrivskyddad]
Innehåller det totala antalet dataändringar som har utförts sedan anslutningen till databasen upprättades. | SQLConnection |
Metod | Definieras med | ||
---|---|---|---|
Skapar en SQLConnection-instans. | SQLConnection | ||
addEventListener(type:String, listener:Function, useCapture:Boolean = false, priority:int = 0.0, useWeakReference:Boolean = false):void [åsidosätt]
Registrerar ett händelseavlyssnarobjekt för ett EventDispatcher-objekt så att avlyssnaren får meddelanden om händelser. | SQLConnection | ||
Samlar in statistik om databasindex och lagrar dem i databasen. | SQLConnection | ||
attach(name:String, reference:Object = null, responder:Responder = null, encryptionKey:ByteArray = null):void
Lägger till ytterligare en databas till SQLConnection-instansen och ger den nya databasen det angivna namnet. | SQLConnection | ||
Startar en transaktion där alla SQL-satser som körs mot anslutningens databas eller databaser grupperas. | SQLConnection | ||
Avbryter alla SQL-satser som håller på att köras på databaser som är anslutna till SQLConnection-instansen. | SQLConnection | ||
Stänger den aktuella databasanslutningen. | SQLConnection | ||
Verkställer en befintlig transaktion och permanentar därmed databasåtgärderna som transaktionssatserna har utfört. | SQLConnection | ||
Återvinner allt oanvänt utrymme i databasen. | SQLConnection | ||
Tar bort all statistisk information som har skapats av ett anrop till analyze()-metoden. | SQLConnection | ||
Frigör en databas som tidigare har varit bifogad till SQLConnection-instansen med hjälp av attach()-metoden. | SQLConnection | ||
Skickar en händelse till händelseflödet. | EventDispatcher | ||
Ger åtkomst till resultatet av ett anrop till metoden loadSchema(). | SQLConnection | ||
Kontrollerar om EventDispatcher-objektet har några avlyssnare registrerade för en viss typ av händelse. | EventDispatcher | ||
Anger om det finns en egenskap angiven för ett objekt. | Object | ||
Anger om en instans av klassen Object finns i prototypkedjan för objektet som anges som parameter. | Object | ||
loadSchema(type:Class = null, name:String = null, database:String = "main", includeColumnSchema:Boolean = true, responder:Responder = null):void
Läser in schemainformation från den anslutna databasen eller eventuella bifogade databaser. | SQLConnection | ||
open(reference:Object = null, openMode:String = "create", autoCompact:Boolean = false, pageSize:int = 1024, encryptionKey:ByteArray = null):void
Öppnar en synkron anslutning till databasfilen på angiven plats i filsystemet, eller skapar och öppnar en ny databasfil på platsen, eller skapar och öppnar en in-memory-databas. | SQLConnection | ||
openAsync(reference:Object = null, openMode:String = "create", responder:Responder = null, autoCompact:Boolean = false, pageSize:int = 1024, encryptionKey:ByteArray = null):void
Öppnar en asynkron anslutning till databasfilen på angiven plats i filsystemet, eller skapar och öppnar en ny databasfil på platsen, eller skapar och öppnar en in-memory-databas. | SQLConnection | ||
Anger om den angivna egenskapen finns och är uppräkningsbar. | Object | ||
Ändrar krypteringsnyckeln för en krypterad databas. | SQLConnection | ||
Den här metoden genomför de SQL-åtgärder som begärts sedan den senaste lagringspunkten eller namngivna lagringspunkten, om ett namn har angetts. | SQLConnection | ||
[åsidosätt]
Tar bort en avlyssnare från EventDispatcher-objektet. | SQLConnection | ||
Ångrar en befintlig transaktion som har skapats med begin()-metoden, vilket innebär att alla ändringar som har utförts av någon SQL-sats i transaktionen tas bort. | SQLConnection | ||
Återställer alla SQL-åtgärder som begärts sedan den senaste lagringspunkten eller namngivna lagringspunkten, om ett namn har angetts. | SQLConnection | ||
Anger tillgänglighet för en dynamisk egenskap för slingåtgärder. | Object | ||
Skapar en lagringspunkt, som är som ett bokmärke i en databastransaktion. | SQLConnection | ||
Returnerar det här objektets strängrepresentation, formaterad i enlighet med språkspecifika konventioner. | Object | ||
Returnerar det angivna objektets strängbeteckning. | Object | ||
Returnerar det angivna objektets primitiva värde. | Object | ||
Kontrollerar om en händelseavlyssnare är registrerad för det här EventDispatcher-objektet eller något av dess överordnade objekt för den angivna händelsetypen. | EventDispatcher |
Händelse | Sammanfattning | Definieras med | ||
---|---|---|---|---|
[utsändningshändelse] Skickas när Flash Player eller AIR får operativsystemfokus och blir aktivt. | EventDispatcher | |||
Skickas när en analyze()-åtgärd har slutförts. | SQLConnection | |||
Skickas när en åtgärd för ett attach()-metodanrop har slutförts. | SQLConnection | |||
Skickas när en åtgärd för ett begin()-metodanrop har slutförts. | SQLConnection | |||
Skickas när en åtgärd för ett cancel()-metodanrop har slutförts. | SQLConnection | |||
Skickas när en åtgärd för ett close()-metodanrop har slutförts. | SQLConnection | |||
Skickas när en åtgärd för ett commit()-metodanrop har slutförts. | SQLConnection | |||
Skickas när en åtgärd för ett compact()-metodanrop har slutförts. | SQLConnection | |||
[utsändningshändelse] Skickas när Flash Player eller AIR förlorar operativsystemfokus och blir inaktivt. | EventDispatcher | |||
Skickas när en åtgärd för ett deanalyze()-metodanrop har slutförts. | SQLConnection | |||
Skickas när data ändras i en tabell i någon av de anslutna databaserna till följd av ett SQL DELETE-kommando. | SQLConnection | |||
Skickas när en åtgärd för ett detach()-metodanrop har slutförts. | SQLConnection | |||
Skickas när någon av SQLConnection-objektets asynkrona åtgärder leder till ett fel. | SQLConnection | |||
Skickas när data har ändrats i en tabell i någon av de anslutna databaserna till följd av ett SQL INSERT-kommando. | SQLConnection | |||
Skickas när en åtgärd för ett openAsync()-metodanrop har slutförts. | SQLConnection | |||
Skickas när en åtgärd för ett reencrypt()-metodanrop har slutförts. | SQLConnection | |||
Skickas när en åtgärd för ett releaseSavepoint()-metodanrop har slutförts. | SQLConnection | |||
Skickas när en åtgärd för ett rollback()-metodanrop har slutförts. | SQLConnection | |||
Skickas när en åtgärd för ett rollbackToSavepoint()-metodanrop har slutförts. | SQLConnection | |||
Skickas när en åtgärd för ett loadSchema()-metodanrop har slutförts och schemaresultaten är klara. | SQLConnection | |||
Skickas när en åtgärd för ett setSavepoint()-metodanrop har slutförts. | SQLConnection | |||
Skickas när data har ändrats i en tabell i någon av de anslutna databaserna till följd av ett SQL UPDATE-kommando. | SQLConnection |
autoCompact | egenskap |
autoCompact:Boolean
[skrivskyddad] Språkversion: | ActionScript 3.0 |
Körningsmiljöversioner: | AIR 1.0 |
Anger om automatisk komprimering var aktiverad när den aktuella databasen ursprungligen skapades (värdet som angavs för parametern autoCompact
i open()
- eller openAsync()
-anropet som skapade databasen). Om egenskapen är true
, tas oanvänt utrymme automatiskt bort från databasfilen efter varje skrivåtgärd, vilket gör databasfilerna mindre. Om egenskapen är false
lämnas utrymmet från borttagna data oanvänt i databasfilen och återanvänds vid behov. Även om autoCompact
är false
, kan du tvinga databasen att återvinna oanvänt utrymme genom att anropa compact()
-metoden.
Om egenskapen connected
är false
är den här egenskapen inställd på false
.
Implementering
public function get autoCompact():Boolean
Relaterade API-element
cacheSize | egenskap |
cacheSize:uint
Språkversion: | ActionScript 3.0 |
Körningsmiljöversioner: | AIR 1.0 |
Ger åtkomst till anslutningens cache-storlek som representerar det högsta antalet databasdisksidor som hålls i minnet åt gången. Varje sida använder cirka 1,5 KB minne (beroende på vilket värde som har angetts för parametern pageSize
i open()
- eller openAsync()
-metodanropet som skapade databasen). Standardvärdet för cache-storleken är 2 000. Om ett program kör UPDATE
- eller DELETE
-åtgärder som ändrar många rader i en databas, kan ökad cache-storlek ge högre hastighet till priset av ökad minnesförbrukning.
Implementering
public function get cacheSize():uint
public function set cacheSize(value:uint):void
Utlöser
IllegalOperationError — Vid försök att ställa in den här egenskapen när SQLConnection-instansen inte är ansluten till någon databas (egenskapen connected är false ) eller om en transaktion för närvarande är öppen (egenskapen inTransaction är true ).
|
Relaterade API-element
columnNameStyle | egenskap |
columnNameStyle:String
Språkversion: | ActionScript 3.0 |
Körningsmiljöversioner: | AIR 1.0 |
Anger hur kolumnnamn rapporteras i SELECT
-satsresultatet.
Konstanterna i SQLColumnNameStyle-klassen representerar möjliga värden för egenskapen:
SQLColumnNameStyle.LONG
anger att kolumnnamnen returneras i formatet[table-name]_[column-name]
.SQLColumnNameStyle.SHORT
anger att kolumnnamnen får formatet[kolumn-namn]
. Om det finns flera kolumner med samma namn, läggs endast en egenskap med detta namn till i resultatobjektet.SQLColumnNameStyle.DEFAULT
är standardvärdet. När det här värdet används formateras resultatkolumnnamnen efter antalet tabeller iSELECT
-satsen som har liknande kolumnnamn. OmSELECT
-satsen bara innehåller en tabell används det korta namnformatet[column-name]
, och omSELECT
-satsen innehåller flera tabeller som har förenats, och det uppstår en namnkrock på grund av två identiska kolumnnamn, används det långa namnformatet[table-name]_[column-name]
för de kolumner som har identiska namn.
Implementering
public function get columnNameStyle():String
public function set columnNameStyle(value:String):void
Utlöser
IllegalOperationError — Vid försök att ställa in den här egenskapen och SQLConnection-instansen inte är ansluten till någon databas (egenskapen connected är false ).
|
Relaterade API-element
connected | egenskap |
inTransaction | egenskap |
isSupported | egenskap |
lastInsertRowID | egenskap |
lastInsertRowID:Number
[skrivskyddad] Språkversion: | ActionScript 3.0 |
Körningsmiljöversioner: | AIR 1.0 |
Radidentifierare av den senaste raden som har skapats av en SQL INSERT
-sats. En radidentifierare används för att unikt identifiera en rad i tabellen inom databasen. Värdet genereras ofta av databasen.
Värdet är noll om ingen databas är ansluten eller ingen INSERT
-sats har körts.
Radidentifieraren för en enkel SQL INSERT
-satsåtgärd kan tillhandahållas genom lastInsertRowID
-egenskapen i SQLResult-objektet som returneras av SQLStatement-objektets getResult()
-metod (när den anropas efter att SQLStatement skickar en result
-händelse).
Mer information om primära nycklar och genererade radidentifierare finns i avsnitten om ”CREATE TABLE” och ”Uttryck” i bilagan ”SQL-stöd i lokala databaser”.
Implementering
public function get lastInsertRowID():Number
Relaterade API-element
pageSize | egenskap |
pageSize:uint
[skrivskyddad] Språkversion: | ActionScript 3.0 |
Körningsmiljöversioner: | AIR 1.0 |
Anger databasens sidstorlek (i byte) som angavs när den aktuella databasen ursprungligen skapades (värdet som angavs för parametern pageSize
i open()
- eller openAsync()
-anropet som skapade databasen).
Om egenskapen connected
är false
är egenskapens värde 0.
En databas sidstorlek kan ändras (med metoden open()
eller openAsync()
) tills första tabellen skapas i databasen.
Implementering
public function get pageSize():uint
Relaterade API-element
totalChanges | egenskap |
totalChanges:Number
[skrivskyddad] Språkversion: | ActionScript 3.0 |
Körningsmiljöversioner: | AIR 1.0 |
Innehåller det totala antalet dataändringar som har utförts sedan anslutningen till databasen upprättades. Förutom att spåra ändringar som har gjorts med INSERT
-, DELETE
- och UPDATE
-satser inkluderar värdet ändringar som har orsakats av utlösare.
När databasanslutningen stängs återställs värdet till 0. När SQLConnection-instansen inte är ansluten till en databas är värdet 0.
Implementering
public function get totalChanges():Number
Relaterade API-element
SQLConnection | () | Konstruktor |
public function SQLConnection()
Språkversion: | ActionScript 3.0 |
Körningsmiljöversioner: | AIR 1.0 |
Skapar en SQLConnection-instans.
Utlöser
SecurityError — om konstruktorn anropas från en sandlåda utanför huvudprogramsandlådan.
|
addEventListener | () | metod |
override public function addEventListener(type:String, listener:Function, useCapture:Boolean = false, priority:int = 0.0, useWeakReference:Boolean = false):void
Språkversion: | ActionScript 3.0 |
Körningsmiljöversioner: | AIR 1.0 |
Registrerar ett händelseavlyssnarobjekt för ett EventDispatcher-objekt så att avlyssnaren får meddelanden om händelser. Du kan registrera händelseavlyssnare på alla noder i visningslistan efter en särskild typ av händelse, fas och prioritet.
När du har registrerat en händelseavlyssnare går det inte att ändra dess prioritet genom ytterligare anrop till addEventListener()
. För att kunna ändra avlyssnarens prioritet måste du först anropa removeListener()
. Sedan går det att registrera avlyssnaren på nytt med den nya prioritetsnivån.
Kom ihåg att när avlyssnaren har registrerats så skapar anrop till addEventListener()
med annan type
eller useCapture
-värde en separat avlyssnarregistrering. Om du till exempel först registrerar en avlyssnare med useCapture
inställt på true
, avlyssnar den bara under hämtningsfasen. Om du anropar addEventListener()
igen med samma avlyssningsobjekt men med useCapture
inställt på false
, får du två separata avlyssnare: en som avlyssnar under hämtningsfasen och en som avlyssnar under både mål- och bubblingsfasen.
Det går inte att registrera en händelseavlyssnare endast för målfasen eller bubblingsfasen. De faserna är sammankopplade vid registreringen eftersom bubblande bara tillämpas på de som är överordnade målnoden.
Om du inte längre behöver en händelseavlyssnare tar du bort den genom att anropa removeEventListener()
. Annars finns risk för minnesproblem. Händelseavlyssnare tas inte automatiskt bort från minnet, eftersom skräpinsamlaren inte tar bort avlyssnaren så länge det skickande objektet finns (om inte parametern useWeakReference
är true
).
Kopiering av en EventDispatcher-instans innebär inte att de händelseavlyssnare som är kopplade till den kopieras. (Om en nod som du nyss skapat behöver en händelseavlyssnare måste du koppla avlyssnaren efter att du skapat noden.) Om du däremot flyttar en EventDispatcher-instans flyttas den kopplade händelseavlyssnaren med.
Om händelseavlyssnaren är registrerad på en nod samtidigt som en händelse bearbetas på den noden aktiveras inte händelseavlyssnaren under den aktuella fasen, men den kan aktiveras under en senare fas i händelseflödet, t.ex. bubblingsfasen.
Om en händelseavlyssnare tas bort från en nod samtidigt som en händelse bearbetas på den noden, aktiveras den ändå av de aktuella åtgärderna. När händelseavlyssnaren tagits bort anropas den aldrig mer (om den inte registreras på nytt för framtida bearbetning).
Parametrar
type:String — Händelsens typ.
| |
listener:Function — Avlyssnarfunktionen som bearbetar händelsen. Den här funktionen måste acceptera ett Event-objekt som sin enda parameter och får inte returnera någonting, se följande exempel:
function(evt:Event):void Funktionen kan ha vilket namn som helst. | |
useCapture:Boolean (default = false ) —
Avgör om avlyssnaren fungerar i hämtningsfasen eller mål- och bubblingsfaserna. Om useCapture är inställd på true bearbetar avlyssningsprocessen bara händelsen under hämtningsfasen och inte under mål- eller bubblingsfasen. Om useCapture är inställd på false bearbetar avlyssningsprocessen bara händelsen under mål- och bubblingsfasen. Om du vill avlyssna händelsen under alla tre faserna anropar du addEventListener två gånger, en gång med useCapture inställd på true , och sedan en gång med useCapture inställd på false .
| |
priority:int (default = 0.0 ) — Händelseavlyssnarens prioritetsnivå. Prioriteten anges av ett 32-bitars heltal med tecken. Ju högre tal, desto högre prioritet. Alla avlyssnare med prioritet n bearbetas före avlyssnare med prioritet n -1. Om två eller fler avlyssnare har samma prioritet bearbetas de i den ordning de lades till. Standardprioritet är 0.
| |
useWeakReference:Boolean (default = false ) — Avgör om referensen till avlyssnaren är stark eller svag. En stark referens (standard) förhindrar att avlyssnaren skräpsamlas. Det gör inte en svag referens. Medlemsfunktioner på klassnivå skräpsamlas inte, så du kan ange |
analyze | () | metod |
public function analyze(resourceName:String = null, responder:Responder = null):void
Språkversion: | ActionScript 3.0 |
Körningsmiljöversioner: | AIR 1.0 |
Samlar in statistik om databasindex och lagrar dem i databasen. Statistiken kan sedan användas av frågeoptimeraren (den del av databasmotorn som avgör vilket satskörningssätt som är mest effektivt). Statistiken hjälper frågeoptimeraren att göra bättre val i fråga om vilket eller vilka index som ska användas vid körningen av en viss fråga.
Om en databas har definierade indexvärden, men analyze()
-metoden inte har anropats, används ändå indexvärdena i körningen för att köra satser. Däremot kanske inte det mest effektiva indexvärdet för en specifik fråga används i körningen om den extra statistikinformationen som erhålls av analyze()
-metoden saknas.
När tabelldata ändras (till följd av INSERT
-, UPDATE
- eller DELETE
-satser) ändras även indexvärden som är associerade med tabellen. Statistisk information som har genererats av analyze()
uppdateras inte automatiskt. Därför kan det vara fördelaktigt att anropa metoden analyze()
på nytt efter många dataändringar. Hur stor fördelen med att anropa analyze()
på nytt blir, beror dock på flera faktorer, t.ex. antalet definierade indexvärden för en tabell, relationen mellan antalet ändrade rader och det totala antalet rader i tabellen, och variationsskillnaden mellan tabellens indexerade data och hur stora dataändringar som har gjorts.
Parametern resourceName
anger om åtgärden ska utföras på indexvärden för alla bifogade databaser, en viss databas eller en viss tabell.
Varje gång den här metoden anropas tas alla statistiska data som har skapats tidigare bort, och återskapas för den databas eller tabell som anges i parametern resourceName
(eller för alla tabeller i alla anslutna databaser om resourceName
är null
). Den här metoden kan anropas när som helst när databasanslutningen är öppen. Åtgärden analyze()
och dess statistiska data ingår inte i transaktionen, men det är bättre att inte anropa analyze()
under en pågående databastransaktion (egenskapen inTransaction
är true
). Skälet är att ändringar i data, tabellscheman eller indexvärden som har körts i transaktionen, men ännu inte har verkställts, inte kommer att tas med i beräkningen i analyze()
-anropet. analyze()
-data kommer därför att vara inaktuella så snart transaktionen har verkställts.
Du kan ta bort statistiska data som har skapats med analyze()
-metoden med hjälp av deanalyze()
-metoden.
Parametrar
resourceName:String (default = null ) — Namnet på den databas eller tabell vars indexvärde ska analyseras. Om den angivna resursen är en tabell med ett unikt namn bland samtliga bifogade databaser behöver bara tabellnamnet anges. Tabellnamn kan dock anges i formatet [database-name].[table-name] för att undvika tvetydigheter om tabellnamnet inte är unikt. Om parametern resourceName är null (standardvärde), analyseras alla instanser i alla bifogade databaser.
| |
responder:Responder (default = null ) — Ett objekt som utser vilka metoder som ska anropas när åtgärden fungerar eller misslyckas. I asynkront körningsläge, om argumentet responder är null , skickas en analyze - eller error -händelse när körningen har slutförts.
|
Händelser
analyze: — Skickas när åtgärden har slutförts.
| |
error: — Skickas när åtgärden misslyckas i asynkront körningsläge.
|
Utlöser
IllegalOperationError — Om den här metoden anropas när SQLConnection-instansen inte är ansluten till någon databas (egenskapen connected är false ).
| |
SQLError — om åtgärden misslyckas i synkront körningsläge.
|
Relaterade API-element
attach | () | metod |
public function attach(name:String, reference:Object = null, responder:Responder = null, encryptionKey:ByteArray = null):void
Språkversion: | ActionScript 3.0 |
Körningsmiljöversioner: | AIR 1.0 |
Lägger till ytterligare en databas till SQLConnection-instansen och ger den nya databasen det angivna namnet. Genom att bifoga en databas kan du använda databasen i SQL-satser som körs mot SQLConnection-instansen.
Ett fel inträffar om en databas med det angivna namnet redan har bifogats när attach()
anropas. Samma databas kan dock bifogas flera gånger genom att unika namn används. Endast tio databaser kan bifogas till en enstaka SQLConnection-instans.
Samma SQL-satser kan köras både på en databas som har anslutits med hjälp av attach()
och på huvuddatabasen (databasen som har anslutits med open()
eller openAsync()
). En SQL-sats har åtkomst till tabellerna i alla databaser som har bifogats till satsens associerade SQLConnection-instans, inklusive åtkomst till tabeller från flera databaser i en enstaka sats. Körningen löser tabellnamn i en sats genom att söka igenom SQLConnection-instansens databaser i den ordning som databaserna har bifogats, och börjar då med den databas som har anslutits med metoden open()
eller openAsync()
. Använd databasnamnet (som anges i attach()
-metodens parameter name
) i satsen för att tydligt ange ett tabellnamn.
Om du vill ta bort en databas som har bifogats med attach()
-metoden använder du detach()
-metoden. När en SQLConnection stängs (genom anrop till metoden close()
) frigörs alla bifogade databaser.
Den bifogade databasen använder samma körningsläge (synkront eller asynkront) som huvuddatabasen, beroende på om huvuddatabasen har anslutits med metoden open()
eller metoden openAsync()
.
Parametrar
name:String — Namnet som används för att identifiera den nyligen bifogade databasen. Namnet kan användas i SQL-satser för att tydligt visa att tabellen hör till den angivna databasen med hjälp av formatet [database-name].[table-name] . Namnen "main" och "temp" är reserverade och kan inte användas.
| |
reference:Object (default = null ) — En referens till databasfilen som ska bifogas (en flash.filesystem.File-instans). Om referensen hänvisar till en fil som inte finns skapas antingen en ny databasfil, eller också utlöses ett fel enligt det värde som har angetts för parametern openMode i anropet till open() eller openAsync() som anslöt huvuddatabasen.
Om parametervärdet är | |
responder:Responder (default = null ) — Ett objekt som utser vilka metoder som ska anropas när åtgärden fungerar eller misslyckas. I asynkront körningsläge, om argumentet responder är null , skickas en attach - eller error -händelse när körningen har slutförts.
| |
encryptionKey:ByteArray (default = null ) — Krypteringsnyckeln för databasfilen. Om attach() -anropet skapar en databas, krypteras databasen och den angivna nyckeln används för databasen. Om anropet kopplar en befintlig krypterad databas måste värdet exakt matcha databasens krypteringsnyckel, annars inträffar ett fel. Om databasen som kopplas inte är krypterad, eller om du vill skapa en okrypterad databas, måste värdet vara null (standardvärdet).
En krypteringsnyckel måste vara 16 byte lång. En in-memory-databas kan inte krypteras, så dess parameter måste vara När du kopplar en krypterad databas och krypteringsnyckeln som anges inte matchar databasens krypteringsnyckel, inträffar ett undantagsfel. Vid synkront körningsläge inträffar ett SQLError-undantag. I asynkront körningsläge skickas en SQLErrorEvent, och händelseobjektets Parametern |
Händelser
attach: — Skickas när åtgärden har slutförts.
| |
error: — Skickas när åtgärden misslyckas i asynkront körningsläge.
|
Utlöser
ArgumentError — När parametern name är en tom sträng ("" ) eller null
| |
ArgumentError — När det angivna värdet för parametern reference inte är en flash.filesystem.File-instans
| |
ArgumentError — När argumentet encryptionKey inte är null och dess length inte är 16 byte
| |
ArgumentError — När parametern reference är null och argumentet encryptionKey inte är null
| |
IllegalOperationError — När SQLConnection-instansen inte är ansluten till någon databas (egenskapen connected är false ) eller om en transaktion just har öppnats (egenskapen inTransaction är true ).
| |
SQLError — om åtgärden misslyckas i synkront körningsläge.
|
Relaterade API-element
begin | () | metod |
public function begin(option:String = null, responder:Responder = null):void
Språkversion: | ActionScript 3.0 |
Körningsmiljöversioner: | AIR 1.0 |
Startar en transaktion där alla SQL-satser som körs mot anslutningens databas eller databaser grupperas.
Som standard körs varje SQL-sats inom sin egen transaktion, och transaktionen slutar när satskörningen har slutförts eller misslyckats. En transaktion som skapas med metoden begin()
ger upphov till en ny manuell transaktion. Därefter körs alla SQL-satser mot SQLConnection-instansen inom transaktionen, och alla åtgärder eller ändringar som utförs av satsen kan verkställas (permanentas) eller backas ut (ångras) i grupp.
Om du vill avsluta en transaktion anropar du någon av metoderna commit()
eller rollback()
, beroende på om ändringarna som transaktionernas satser har utfört ska permanentas eller tas bort.
Kapslade anrop till begin()
ignoreras. Du kan skapa lagringspunkter som fungerar som bokmärken i en transaktion genom att anropa metoden setSavepoint()
. Du kan sedan delvis verkställa eller återställa SQL-satser genom att anropa metoden releaseSavepoint()
eller rollbackToSavepoint()
. Om du startar en transaktion genom att anropa begin()
, kommer dock inte ändringarna att verkställas permanent i databasen förrän metoden commit()
anropas.
Om databasanslutningen stängs medan en transaktion är öppen, ångras transaktionen automatiskt. (Obs! när det gäller AIR 1.1 och tidigare versioner sparas en öppen transaktion automatiskt när en anslutning stängs.)
En transaktion är inte begränsad till satskörningar i en enda databas utan kan omfatta satser som körs på flera bifogade databaser.
Parametrar
option:String (default = null ) — Anger låsstrategin som används av transaktionen. Värdet kan vara någon av konstanterna som definieras i SQLTransactionLock-klassen:
Standardvärdet ( | |
responder:Responder (default = null ) — Ett objekt som utser vilka metoder som ska anropas när åtgärden fungerar eller misslyckas. I asynkront körningsläge, om argumentet responder är null , skickas en begin - eller error -händelse när körningen har slutförts.
|
Händelser
begin: — Skickas när åtgärden har slutförts.
| |
error: — Skickas när åtgärden misslyckas i asynkront körningsläge.
|
Utlöser
IllegalOperationError — Om den här metoden anropas när SQLConnection-instansen inte är ansluten till någon databas (egenskapen connected är false ).
| |
ArgumentError — Om det angivna alternativet inte är någon av SQLTransactionLockType-konstanterna.
| |
SQLError — om åtgärden misslyckas i synkront körningsläge.
|
Relaterade API-element
rollback()
setSavepoint()
releaseSavepoint()
rollbackToSavepoint()
flash.data.SQLTransactionLockType
Exempel ( Så här använder du exemplet )
INSERT
-satser i en transaktion. Först läggs en rad till i tabellen "employees". Sedan hämtas den primära nyckeln för den nya raden och den används för att lägga till en rad i den associerade tabellen "phoneNumbers".
package { import flash.data.SQLConnection; import flash.data.SQLResult; import flash.data.SQLStatement; import flash.display.Sprite; import flash.events.SQLErrorEvent; import flash.events.SQLEvent; import flash.filesystem.File; public class MultiInsertTransactionExample extends Sprite { private var conn:SQLConnection; private var insertEmployee:SQLStatement; private var insertPhoneNumber:SQLStatement; public function MultiInsertTransactionExample():void { // define where to find the database file var appStorage:File = File.applicationStorageDirectory; var dbFile:File = appStorage.resolvePath("ExampleDatabase.db"); // open the database connection conn = new SQLConnection(); conn.addEventListener(SQLErrorEvent.ERROR, errorHandler); conn.addEventListener(SQLEvent.OPEN, openHandler); conn.openAsync(dbFile); } // Called when the database is connected private function openHandler(event:SQLEvent):void { conn.removeEventListener(SQLEvent.OPEN, openHandler); // start a transaction conn.addEventListener(SQLEvent.BEGIN, beginHandler); conn.begin(); } // Called when the transaction begins private function beginHandler(event:SQLEvent):void { conn.removeEventListener(SQLEvent.BEGIN, beginHandler); // create and execute the first SQL statement: // insert an employee record insertEmployee = new SQLStatement(); insertEmployee.sqlConnection = conn; insertEmployee.text = "INSERT INTO employees (lastName, firstName, email) " + "VALUES (:lastName, :firstName, :email, :birthday)"; insertEmployee.parameters[":lastName"] = "Smith"; insertEmployee.parameters[":firstName"] = "Bob"; insertEmployee.parameters[":email"] = "bsmith@example.com"; insertEmployee.parameters[":birthday"] = new Date(1971, 8, 12); insertEmployee.addEventListener(SQLEvent.RESULT, insertEmployeeHandler); insertEmployee.addEventListener(SQLErrorEvent.ERROR, errorHandler); insertEmployee.execute(); } // Called after the employee record is inserted private function insertEmployeeHandler(event:SQLEvent):void { insertEmployee.removeEventListener(SQLEvent.RESULT, insertEmployeeHandler); insertEmployee.removeEventListener(SQLErrorEvent.ERROR, errorHandler); // Get the employee id of the newly created employee row var result:SQLResult = insertEmployee.getResult(); var employeeId:Number = result.lastInsertRowID; // Add a phone number to the related phoneNumbers table insertPhoneNumber = new SQLStatement(); insertPhoneNumber.sqlConnection = conn; insertPhoneNumber.text = "INSERT INTO phoneNumbers (employeeId, type, number) " + "VALUES (:employeeId, :type, :number)"; insertPhoneNumber.parameters[":employeeId"] = employeeId; insertPhoneNumber.parameters[":type"] = "Home"; insertPhoneNumber.parameters[":number"] = "(555) 555-1234"; insertPhoneNumber.addEventListener(SQLEvent.RESULT, insertPhoneNumberHandler); insertPhoneNumber.addEventListener(SQLErrorEvent.ERROR, errorHandler); insertPhoneNumber.execute(); } // Called after the phone number record is inserted private function insertPhoneNumberHandler(event:SQLEvent):void { insertPhoneNumber.removeEventListener(SQLEvent.RESULT, insertPhoneNumberHandler); insertPhoneNumber.removeEventListener(SQLErrorEvent.ERROR, errorHandler); // No errors so far, so commit the transaction conn.addEventListener(SQLEvent.COMMIT, commitHandler); conn.commit(); } // Called after the transaction is committed private function commitHandler(event:SQLEvent):void { conn.removeEventListener(SQLEvent.COMMIT, commitHandler); trace("Transaction complete"); } // Called whenever an error occurs private function errorHandler(event:SQLErrorEvent):void { // If a transaction is happening, roll it back if (conn.inTransaction) { conn.addEventListener(SQLEvent.ROLLBACK, rollbackHandler); conn.rollback(); } trace(event.error.message); trace(event.error.details); } // Called when the transaction is rolled back private function rollbackHandler(event:SQLEvent):void { conn.removeEventListener(SQLEvent.ROLLBACK, rollbackHandler); // add additional error handling, close the database, etc. } } }
DELETE
-satser i en transaktion. Transaktionen används för att radera en personalpost. Först raderas de associerade raderna i tabellen "phoneNumbers". Sedan raderas raden med personalposten i tabellen "employees".
package { import flash.data.SQLConnection; import flash.data.SQLResult; import flash.data.SQLStatement; import flash.display.Sprite; import flash.events.SQLErrorEvent; import flash.events.SQLEvent; import flash.filesystem.File; public class MultiDeleteTransactionExample extends Sprite { private var conn:SQLConnection; private var deleteEmployee:SQLStatement; private var deletePhoneNumbers:SQLStatement; private var employeeIdToDelete:Number = 25; public function MultiDeleteTransactionExample():void { // define where to find the database file var appStorage:File = File.applicationStorageDirectory; var dbFile:File = appStorage.resolvePath("ExampleDatabase.db"); // open the database connection conn = new SQLConnection(); conn.addEventListener(SQLErrorEvent.ERROR, errorHandler); conn.addEventListener(SQLEvent.OPEN, openHandler); conn.openAsync(dbFile); } // Called when the database is connected private function openHandler(event:SQLEvent):void { conn.removeEventListener(SQLEvent.OPEN, openHandler); // start a transaction conn.addEventListener(SQLEvent.BEGIN, beginHandler); conn.begin(); } // Called when the transaction begins private function beginHandler(event:SQLEvent):void { conn.removeEventListener(SQLEvent.BEGIN, beginHandler); // Create and execute the first SQL statement: // Delete an employee's phone number records deletePhoneNumbers = new SQLStatement(); deletePhoneNumbers.sqlConnection = conn; deletePhoneNumbers.text = "DELETE FROM phoneNumbers " + "WHERE employeeId = :employeeId"; deletePhoneNumbers.parameters[":employeeId"] = employeeIdToDelete; deletePhoneNumbers.addEventListener(SQLEvent.RESULT, deletePhoneNumbersHandler); deletePhoneNumbers.addEventListener(SQLErrorEvent.ERROR, errorHandler); deletePhoneNumbers.execute(); } // Called after the phone number records are deleted private function deletePhoneNumbersHandler(event:SQLEvent):void { deletePhoneNumbers.removeEventListener(SQLEvent.RESULT, deletePhoneNumbersHandler); deletePhoneNumbers.removeEventListener(SQLErrorEvent.ERROR, errorHandler); deleteEmployee = new SQLStatement(); deleteEmployee.sqlConnection = conn; deleteEmployee.text = "DELETE FROM employees " + "WHERE employeeId = :employeeId"; deleteEmployee.parameters[":employeeId"] = employeeIdToDelete; deleteEmployee.addEventListener(SQLEvent.RESULT, deleteEmployeeHandler); deleteEmployee.addEventListener(SQLErrorEvent.ERROR, errorHandler); deleteEmployee.execute(); } // Called after the employee record is deleted private function deleteEmployeeHandler(event:SQLEvent):void { deleteEmployee.removeEventListener(SQLEvent.RESULT, deleteEmployeeHandler); deleteEmployee.removeEventListener(SQLErrorEvent.ERROR, errorHandler); // No errors so far, so commit the transaction conn.addEventListener(SQLEvent.COMMIT, commitHandler); conn.commit(); } // Called after the transaction is committed private function commitHandler(event:SQLEvent):void { conn.removeEventListener(SQLEvent.COMMIT, commitHandler); trace("Transaction complete"); } // Called whenever an error occurs private function errorHandler(event:SQLErrorEvent):void { // If a transaction is happening, roll it back if (conn.inTransaction) { conn.addEventListener(SQLEvent.ROLLBACK, rollbackHandler); conn.rollback(); } trace(event.error.message); trace(event.error.details); } // Called when the transaction is rolled back private function rollbackHandler(event:SQLEvent):void { conn.removeEventListener(SQLEvent.ROLLBACK, rollbackHandler); // add additional error handling, close the database, etc. } } }
cancel | () | metod |
public function cancel(responder:Responder = null):void
Språkversion: | ActionScript 3.0 |
Körningsmiljöversioner: | AIR 1.0 |
Avbryter alla SQL-satser som håller på att köras på databaser som är anslutna till SQLConnection-instansen. Den här metoden kan användas för att stoppa en fråga som har varit aktiv länge eller obesvarbara frågor.
Om satser håller på att köras när metoden cancel()
anropas, avbryter den här metoden satsåtgärderna, och ofullständiga uppdateringar eller transaktioner backas ut. Om inga satser håller på att köras medför ett anrop till metoden inte någonting förutom att en öppen transaktion backas ut.
Parametrar
responder:Responder (default = null ) — Ett objekt som utser vilka metoder som ska anropas när åtgärden fungerar eller misslyckas. I asynkront körningsläge, om argumentet responder är null , skickas en cancel - eller error -händelse när körningen har slutförts.
|
Händelser
cancel: — Skickas när åtgärden har slutförts.
| |
error: — Skickas när åtgärden misslyckas i asynkront körningsläge.
|
Utlöser
IllegalOperationError — Om den här metoden anropas när SQLConnection-instansen inte är ansluten till någon databas (egenskapen connected är false ).
| |
SQLError — Om åtgärden misslyckas i synkront körningsläge.
|
Relaterade API-element
close | () | metod |
public function close(responder:Responder = null):void
Språkversion: | ActionScript 3.0 |
Körningsmiljöversioner: | AIR 1.0 |
Stänger den aktuella databasanslutningen. Eventuella bifogade databaser frigörs också.
Om en transaktion är öppen när close()
anropas, återställs transaktionen. När en SQLConnection-instans skräpsamlas anropar körningen automatiskt close()
, inklusive om ett AIR-program stängs medan en SQLConnection fortfarande är ansluten till en databas.
Parametrar
responder:Responder (default = null ) — Ett objekt som utser vilka metoder som ska anropas när åtgärden fungerar eller misslyckas. I asynkront körningsläge, om argumentet responder är null , skickas en close - eller error -händelse när körningen har slutförts.
|
Händelser
close: — Skickas när åtgärden har slutförts.
| |
error: — Skickas när åtgärden misslyckas i asynkront körningsläge.
|
Utlöser
SQLError — Om åtgärden misslyckas i synkront körningsläge.
|
commit | () | metod |
public function commit(responder:Responder = null):void
Språkversion: | ActionScript 3.0 |
Körningsmiljöversioner: | AIR 1.0 |
Verkställer en befintlig transaktion och permanentar därmed databasåtgärderna som transaktionssatserna har utfört.
Du kan skapa mellanliggande lagringspunkter som fungerar som bokmärken i en transaktion genom att anropa metoden setSavepoint()
. Med lagringspunkter kan du verkställa delar av en transaktion genom att anropa metoden releaseSavepoint()
eller återställa delar av en transaktion genom att anropa metoden rollbackToSavepoint()
. Om en transaktion öppnas med metoden begin()
sparas dock inte ändringarna permanent i databasen förrän hela transaktionen verkställs genom att metoden commit()
anropas.
När en transaktion använder lagringspunkter kommer satser som återställs med metoden rollbackToSavepoint()
inte att verkställas när hela transaktionen verkställs. Satser som verkställs med releaseSavepoint()
eller vars lagringspunkter inte har frisläppts eller återställts verkställs i databasen.
Parametrar
responder:Responder (default = null ) — Ett objekt som utser vilka metoder som ska anropas när åtgärden fungerar eller misslyckas. I asynkront körningsläge, om argumentet responder är null , skickas en commit - eller error -händelse när körningen har slutförts.
|
Händelser
commit: — Skickas när åtgärden har slutförts.
| |
error: — Skickas när åtgärden har misslyckats.
|
Utlöser
IllegalOperationError — Om metoden anropas utan att SQLConnection-instansen är ansluten till någon databas (egenskapen connected är false ) eller om inga transaktioner har öppnats (egenskapen inTransaction är false ).
|
Relaterade API-element
compact | () | metod |
public function compact(responder:Responder = null):void
Språkversion: | ActionScript 3.0 |
Körningsmiljöversioner: | AIR 1.0 |
Återvinner allt oanvänt utrymme i databasen. När ett objekt (tabell, index eller utlösare) tas bort från databasen efterlämnar det en tom plats. Det här gör databasfilen större än nödvändigt men kan göra INSERT
-åtgärder snabbare. Över tid kan INSERT
- och DELETE
-åtgärder medföra att databasfilstrukturen fragmenteras, vilket medför långsammare diskåtkomst till databasinnehållet. Den här metoden gör databasfilen mer kompakt, tar bort tomma sidor, justerar tabelldata så att de hänger samman och städar upp i databasfilstrukturen.
Åtgärden compact()
kan inte utföras på en bifogad databasfil utan endast på huvuddatabasfilen (originalet) som har öppnats med SQLConnection-instansen. Den här åtgärden misslyckas om en aktiv transaktion pågår, och påverkar inte in-memory-databaser.
Parametrar
responder:Responder (default = null ) — Ett objekt som utser vilka metoder som ska anropas när åtgärden fungerar eller misslyckas. I asynkront körningsläge, om argumentet responder är null , skickas en compact - eller fel -händelse när körningen har slutförts.
|
Händelser
compact: — Skickas när åtgärden har slutförts.
| |
error: — Skickas när åtgärden misslyckas i asynkront körningsläge.
|
Utlöser
IllegalOperationError — Om metoden anropas utan att SQLConnection-instansen är ansluten till någon databas (egenskapen connected är false ) eller om en transaktion pågår (egenskapen inTransaction är true ).
| |
SQLError — Om åtgärden misslyckas i synkront körningsläge.
|
deanalyze | () | metod |
public function deanalyze(responder:Responder = null):void
Språkversion: | ActionScript 3.0 |
Körningsmiljöversioner: | AIR 1.0 |
Tar bort all statistisk information som har skapats av ett anrop till analyze()
-metoden.
Eftersom statistiken som har genererats av analyze()
-metoden upptar plats i en databas kan du anropa deanalyze()
och därmed återvinna utrymmet, till exempel efter att du har tagit bort flera index eller tabeller.
Den här åtgärden ingår inte i någon aktiv transaktion.
Parametrar
responder:Responder (default = null ) — Ett objekt som utser vilka metoder som ska anropas när åtgärden fungerar eller misslyckas. I asynkront körningsläge, om argumentet responder är null , skickas en deanalyze - eller error -händelse när körningen har slutförts.
|
Händelser
deanalyze: — Skickas när åtgärden har slutförts.
| |
error: — Skickas när åtgärden misslyckas i asynkront körningsläge.
|
Utlöser
IllegalOperationError — Om den här metoden anropas när SQLConnection-instansen inte är ansluten till någon databas (egenskapen connected är false ).
| |
SQLError — Om åtgärden misslyckas i synkront körningsläge.
|
Relaterade API-element
detach | () | metod |
public function detach(name:String, responder:Responder = null):void
Språkversion: | ActionScript 3.0 |
Körningsmiljöversioner: | AIR 1.0 |
Frigör en databas som tidigare har bifogats till SQLConnection-instansen med hjälp av attach()
-metoden. Det går att bifoga samma databas flera gånger genom att använda olika namn. Om en filanslutning frigörs förblir de övriga intakta. En databas kan inte frigöras om anslutningen har en öppen transaktion (om egenskapen inTransaction
är true
).
Parametrar
name:String — Namnet på databasen som ska frigöras.
| |
responder:Responder (default = null ) — Ett objekt som utser vilka metoder som ska anropas när åtgärden fungerar eller misslyckas. I asynkront körningsläge, om argumentet responder är null , skickas en detach - eller error -händelse när körningen har slutförts.
|
Händelser
detach: — Skickas när åtgärden har slutförts.
| |
error: — Skickas när åtgärden misslyckas i asynkront körningsläge.
|
Utlöser
ArgumentError — Om argumentet name är null eller innehåller en tom sträng (”” ).
| |
IllegalOperationError — Om metoden anropas när SQLConnection-instansen inte är ansluten till någon databas (egenskapen connected är false ) eller om SQLConnection-instansen har en öppen transaktion (egenskapen inTransaction är true ).
| |
SQLError — Om åtgärden misslyckas i synkront körningsläge.
|
Relaterade API-element
getSchemaResult | () | metod |
public function getSchemaResult():SQLSchemaResult
Språkversion: | ActionScript 3.0 |
Körningsmiljöversioner: | AIR 1.0 |
Ger åtkomst till resultatet av ett anrop till metoden loadSchema()
. Metoden getSchemaResult()
fungerar som en resultatkö enligt principen först-in-först-ut. Varje gång metoden loadSchema()
har slutförts (varje gång schema
-händelsen skickas i asynkront körningsläge), läggs ett nytt SQLSchemaResult-objekt till i kön. Varje gång metoden getSchemaResult()
anropas returneras det tidigaste resultatet (det som först lades till i kön) och tas bort från kön. När det inte återstår fler objekt i kön returnerar getSchemaResult()
null
.
När databasanslutningen har stängts returnerar metoden null
.
SQLSchemaResult |
Relaterade API-element
loadSchema | () | metod |
public function loadSchema(type:Class = null, name:String = null, database:String = "main", includeColumnSchema:Boolean = true, responder:Responder = null):void
Språkversion: | ActionScript 3.0 |
Körningsmiljöversioner: | AIR 1.0 |
Läser in schemainformation från den anslutna databasen eller eventuella bifogade databaser. Schemat visar strukturen för databasens tabeller, kolumner, indexvärden och utlösare.
Använd metoden SQLConnection.getSchemaResult()
för att få åtkomst till det inlästa schemat.
I asynkront körningsläge skickas en schema
-händelse om åtgärden fungerar och en error
-händelse om åtgärden misslyckas.
Kombinationen av parametervärdena type
och name
avgör vilken typ av schemadata som genereras av metoden loadSchema()
och därmed värdena på egenskaperna i de genererade SQLSchemaResult-instanserna. Följande tabell visar en lista över de giltiga type
- och name
-paren och de schemadata som genereras som resultat:
type -argument | namn -argument | Hämtar schemadata för: |
---|---|---|
null | null | alla objekt i databasen (alla tabeller, vyer, utlösare och index) |
SQLIndexSchema | null | alla index i databasen |
SQLIndexSchema | giltigt tabellnamn | alla index som har definierats i den angivna tabellen |
SQLIndexSchema | giltigt indexnamn | angivet index |
SQLTableSchema | null | alla tabeller i databasen |
SQLTableSchema | giltigt tabellnamn | angiven tabell |
SQLTriggerSchema | null | alla utlösare i databasen |
SQLTriggerSchema | giltigt tabellnamn | alla utlösare associerade med den angivna tabellen |
SQLTriggerSchema | giltigt vynamn | alla utlösare associerade med den angivna vyn |
SQLTriggerSchema | giltigt namn på utlösare | angiven utlösare |
SQLViewSchema | null | alla vyer i databasen |
SQLViewSchema | giltigt vynamn | angiven vy |
Om argumentkombinationen typ
och namn
inte motsvarar någon av de angivna kombinationerna skickas en error
-händelse i asynkront körningsläge och ett undantag genereras i synkront körningsläge. Om till exempel typ
-argumentet är SQLViewSchema
och namn
-argumentet är ett tabellnamn (snarare än ett vynamn) rapporteras ett fel som visar att databasen inte innehåller något objekt av den angivna typen med det angivna namnet.
Om databasen är tom (inte innehåller några tabeller, vyer, utlösare eller index) inträffar ett fel om metoden loadSchema()
anropas.
Parametrar
type:Class (default = null ) — Anger vilken schematyp som ska läsas in. Ett null -värde (standardvärde) anger att all schemainformation ska läsas in. Om ett -null -värde anges för parametern smalnar omfånget på det resulterande schemat och onödig information kan avlägsnas från resultaten och göra åtgärden mer effektiv. Värdet måste vara klassnamnet på någon av följande klasser:
| |
name:String (default = null ) — Anger vilken resurs´ schema som läses in. Hur värdet används beror på vilket type -argument som anges. Vanligtvis är det namnet på ett databasobjekt, till exempel ett tabellnamn, indexnamn eller vynamn och så vidare. Om ett värde anges kommer endast schemainformation för databasobjektet med det angivna namnet att ingå i resultatet.
Om det angivna värdet inte är giltigt skickas en Om argumentet | |
database:String (default = "main ") — Namnet på den databas vars schema läses in. Om det angivna värdet inte är giltigt skickas en error -händelse.
| |
includeColumnSchema:Boolean (default = true ) — Anger om resultatet inkluderar schemainformation för tabellkolumner och vyer.
| |
responder:Responder (default = null ) — Ett objekt som utser vilka metoder som ska anropas när åtgärden fungerar eller misslyckas. I asynkront körningsläge, om argumentet responder är null , skickas en schema - eller error -händelse när körningen har slutförts.
|
Händelser
schema: — Skickas när åtgärden har slutförts.
| |
error: — Skickas när åtgärden har misslyckats.
|
Utlöser
IllegalOperationError — Om den här metoden anropas när SQLConnection-instansen inte är ansluten till en databas (egenskapen connected är false ).
| |
ArgumentError — När det angivna type -argumentvärdet inte är någon av de tillåtna typerna.
| |
SQLError — I synkront körningsläge, om ett ogiltigt värde har angetts för namn- eller databasparametrar.
|
Relaterade API-element
open | () | metod |
public function open(reference:Object = null, openMode:String = "create", autoCompact:Boolean = false, pageSize:int = 1024, encryptionKey:ByteArray = null):void
Språkversion: | ActionScript 3.0 |
Körningsmiljöversioner: | AIR 1.0 |
Öppnar en synkron anslutning till databasfilen på angiven plats i filsystemet, eller skapar och öppnar en ny databasfil på platsen, eller skapar och öppnar en in-memory-databas. Åtgärderna som skapar och öppnar databasen, liksom andra åtgärder som utförs med den här SQLConnection-instansen (inklusive satskörning och andra åtgärder som utförs med en SQLStatement-instans associerad med SQLConnection-instansen), utförs synkront när databasen öppnas med den här metoden. Om du vill utföra åtgärder asynkront upprättar du istället databasanslutningen med metoden openAsync()
.
När en databas väl har anslutits använder du en SQLStatement-instans för att köra SQL-kommandon. Åtgärder på databasnivå, som att till exempel inleda eller avsluta transaktioner eller läsa in schemainformation, utförs med SQLConnection-instansen.
En databas som ansluts med metoden open()
får automatiskt databasnamnet "main". Det namnet kan användas för att kvalificera exakta tabellnamn i SQL-satser med formatet [databas-namn].[table-name]
.
Parametrar
reference:Object (default = null ) — Platsen för databasfilen som öppnas. Värdet måste vara en flash.filesystem.File-instans. Om parametervärdet är null skapas och öppnas en in-memory-databas.
| |
openMode:String (default = "create ") — Anger hur databasen öppnas. Värdet kan vara någon av konstanterna i SQLMode-klassen. Standardvärdet är SQLMode.CREATE , vilket anger att om ingen databasfil finns på angiven plats kommer en att skapas. Ett fel inträffar om openMode är SQLMode.READ och den angivna filen inte finns. Parametern ignoreras om referens -parametern är null .
| |
autoCompact:Boolean (default = false ) — Anger om oanvänt utrymme i databasen återvinns automatiskt. Den här parametern är giltig endast när du skapar en ny databas eller när du öppnar en databasfil utan tabeller. Som standard efterlämnar borttagna data tomt utrymme i databasfilen, vilket återanvänds vid behov. Om parametern ställs in på true återvinner databasen automatiskt oanvänt utrymme. Detta kan påverka prestandan negativt eftersom det kräver extra bearbetning varje gång data skrivs till databasen, och kan också leda till att informationen i databasen fragmenteras med tiden. Du kan när som helst tvinga databasen att återvinna oanvänt utrymme i en databasfil och defragmentera databasfilen med metoden compact() .
Parametern ignoreras när | |
pageSize:int (default = 1024 ) — Anger sidstorleken (i byte) för databasen. Den här parametern är giltig endast när du skapar en ny databas eller när du öppnar en databasfil utan tabeller. Värdet måste vara två potenser större än eller lika med 512 och mindre än eller lika med 32 768. Standardvärdet är 1 024 byte. Detta värde kan bara ställas in innan några tabeller skapas. När väl tabeller har skapats uppstår ett fel om du försöker ändra detta värde.
| |
encryptionKey:ByteArray (default = null ) — Krypteringsnyckeln för databasfilen. Om open() -anropet skapar en databas, krypteras databasen och den angivna nyckeln används för databasen. Om anropet öppnar en krypterad databas måste värdet exakt matcha databasens krypteringsnyckel, annars inträffar ett fel. Om databasen som öppnas inte är krypterad, eller om du vill skapa en okrypterad databas, måste värdet vara null (standardvärdet) annars inträffar ett fel.
En krypteringsnyckel måste vara 16 byte lång. En in-memory-databas kan inte krypteras, så dess parameter måste vara När du öppnar en krypterad databas och krypteringsnyckeln som anges inte matchar databasens krypteringsnyckel, inträffar ett SQLError-undantag. I det fallet är SQLError-objektets Parametern |
Händelser
open: — Skickas när åtgärden har slutförts.
|
Utlöser
IllegalOperationError — När SQLConnection-instansen redan har en öppen anslutning till databasen (egenskapenconnected är true ).
| |
SQLError — Om åtgärden misslyckas. Anslutningen lämnas aldrig öppen efter en misslyckad åtgärd.
| |
ArgumentError — När det angivna värdet för parametern reference inte är en flash.filesystem.File-instans
| |
ArgumentError — När argumentet encryptionKey inte är null och dess length inte är 16 byte
| |
ArgumentError — När parametern reference är null och argumentet encryptionKey inte är null
| |
ArgumentError — Om en ogiltig pageSize -parameter anges. I detta ingår att en sidstorlek skickas i läget SQLMode.READ .
|
Relaterade API-element
openAsync | () | metod |
public function openAsync(reference:Object = null, openMode:String = "create", responder:Responder = null, autoCompact:Boolean = false, pageSize:int = 1024, encryptionKey:ByteArray = null):void
Språkversion: | ActionScript 3.0 |
Körningsmiljöversioner: | AIR 1.0 |
Öppnar en asynkron anslutning till databasfilen på angiven plats i filsystemet, eller skapar och öppnar en ny databasfil på platsen, eller skapar och öppnar en in-memory-databas. Åtgärderna att skapa och öppna databasen, liksom andra åtgärder som utförs med den här SQLConnection-instansen (inklusive satskörning och åtgärder som utförs med en SQLStatement-instans associerad med den här SQLConnection-instansen), utförs asynkront när databasen öppnas med den här metoden. Om du vill utföra åtgärder synkront upprättar du istället databasanslutningen med metoden open()
.
När en databas väl har anslutits använder du en SQLStatement-instans för att köra SQL-kommandon. Åtgärder på databasnivå, som att till exempel inleda eller avsluta transaktioner eller läsa in schemainformation, utförs med SQLConnection-instansen.
En databas som ansluts med metoden openAsync()
får automatiskt databasnamnet "main". Det namnet kan användas för att kvalificera exakta tabellnamn i SQL-satser med formatet [databas-namn].[table-name]
.
Parametrar
reference:Object (default = null ) — Platsen för databasfilen som öppnas. Värdet måste vara en flash.filesystem.File-instans. Om parametervärdet är null skapas och öppnas en in-memory-databas.
| |
openMode:String (default = "create ") — Anger hur databasen öppnas. Värdet kan vara någon av konstanterna i SQLMode-klassen. Standardvärdet är SQLMode.CREATE , vilket anger att om ingen databasfil finns på angiven plats kommer en att skapas. Händelsen error skickas om openMode är SQLMode.READ och den angivna filen inte finns. Parametern ignoreras om referens -parametern är null .
| |
responder:Responder (default = null ) — Ett objekt som utser vilka metoder som ska anropas när åtgärden fungerar eller misslyckas. Om argumentet responder är null skickas en open - eller error -händelse när körningen har slutförts.
| |
autoCompact:Boolean (default = false ) — Anger om oanvänt utrymme i databasen återvinns automatiskt. Den här parametern är giltig endast när du skapar en ny databas eller när du öppnar en databasfil utan tabeller. Som standard efterlämnar borttagna data tomt utrymme i databasfilen, vilket återanvänds vid behov. Om parametern ställs in på true återvinner databasen automatiskt oanvänt utrymme. Detta kan påverka prestandan negativt eftersom det kräver extra bearbetning varje gång data skrivs till databasen, och kan också leda till att informationen i databasen fragmenteras med tiden. Du kan när som helst tvinga databasen att återvinna utrymme i databasfilen och defragmentera databasfilen med hjälp av metoden compact() .
Parametern ignoreras när | |
pageSize:int (default = 1024 ) — Anger sidstorleken (i byte) för databasen. Den här parametern är giltig endast när du skapar en ny databas eller när du öppnar en databasfil utan tabeller. Värdet måste vara två potenser större än eller lika med 512 och mindre än eller lika med 32 768. Standardvärdet är 1 024 byte. Detta värde kan bara ställas in innan några tabeller skapas. När väl tabeller har skapats uppstår ett fel om du försöker ändra detta värde.
| |
encryptionKey:ByteArray (default = null ) — Krypteringsnyckeln för databasfilen. Om openAsync() -anropet skapar en databas, krypteras databasen och den angivna nyckeln används för databasen. Om anropet öppnar en krypterad databas måste värdet exakt matcha databasens krypteringsnyckel, annars inträffar ett fel. Om databasen som öppnas inte är krypterad måste värdet vara null (standardvärdet), annars inträffar ett fel.
En krypteringsnyckel måste vara 16 byte lång. En in-memory-databas kan inte krypteras, så dess parameter måste vara När du öppnar en krypterad databas och krypteringsnyckeln som anges inte matchar databasens krypteringsnyckel, skickas en SQLErrorEvent. Händelseobjektets Parametern |
Händelser
open: — Skickas när åtgärden har slutförts.
| |
error: — Skickas när åtgärden misslyckas. Anslutningen lämnas aldrig öppen efter en misslyckad åtgärd.
|
Utlöser
IllegalOperationError — När SQLConnection-instansen redan har en öppen anslutning till databasen (egenskapenconnected är true ).
| |
ArgumentError — När det angivna värdet för parametern reference inte är en flash.filesystem.File-instans
| |
ArgumentError — När argumentet encryptionKey inte är null och dess length inte är 16 byte
| |
ArgumentError — När parametern reference är null och argumentet encryptionKey inte är null
| |
ArgumentError — Om en ogiltig pageSize -parameter anges. I detta ingår att en sidstorlek skickas i läget SQLMode.READ .
|
Relaterade API-element
reencrypt | () | metod |
public function reencrypt(newEncryptionKey:ByteArray, responder:Responder = null):void
Språkversion: | ActionScript 3.0 |
Körningsmiljöversioner: | AIR 1.5 |
Ändrar krypteringsnyckeln för en krypterad databas. Den här metoden påverkar bara krypteringsnyckeln för huvuddatabasen (databasen som ansluts med metoden open()
eller openAsync()
). Du kan bara anropa reencrypt()
för en databas som krypterades när den skapades. Om en databas har skapats som en krypterad databas, kan den inte bli okrypterad. En databas som skapas utan kryptering kan heller inte krypteras vid en senare tidpunkt.
Omkrypteringen körs i en egen transaktion. Om omkrypteringen avbryts, ångras transaktionen och krypteringsnyckeln ändras inte.
Parametrar
newEncryptionKey:ByteArray — En ByteArray som innehåller den nya krypteringsnyckeln för databasen. En krypteringsnyckel måste vara 16 byte lång.
| |
responder:Responder (default = null ) — Ett objekt som utser vilka metoder som ska anropas när åtgärden fungerar eller misslyckas. Om argumentet responder är null , skickas en reencrypt - eller error -händelse när körningen har slutförts.
|
Händelser
reencrypt: — Skickas när åtgärden har slutförts.
| |
error: — Skickas när åtgärden misslyckas.
|
Utlöser
ArgumentError — När värdet newEncryptionKey är null eller dess length inte är 16 byte.
| |
IllegalOperationError — När anslutningen inte är öppen, eller om det finns en öppen transaktion.
| |
SQLError — Om åtgärden misslyckas i synkront körningsläge.
|
Relaterade API-element
releaseSavepoint | () | metod |
public function releaseSavepoint(name:String = null, responder:Responder = null):void
Språkversion: | ActionScript 3.0 |
Körningsmiljöversioner: | AIR 2 |
Den här metoden genomför de SQL-åtgärder som begärts sedan den senaste lagringspunkten eller namngivna lagringspunkten, om ett namn har angetts.
Observera att inga ändringar sparas permanent i databasen förrän hela transaktionen har genomförts. Om transaktionen startas med metoden begin()
måste du anropa metoden commit()
för att genomföra hela transaktionen. Om transaktionen startas genom att du anropar setSavepoint()
när inTransaction
är false
, kan du avsluta hela transaktionen antingen genom att anropa metoden commit()
eller anropa releaseSavepoint()
eller rollbackToSavepoint()
för den första lagringspunkten i transaktionen.
Om koden anropar metoden rollback()
, raderas alla ändringar i transaktionen permanent oavsett om releaseSavepoint()
anropas innan transaktionen återställs.
Om metoden anropas utan parametrar (eller om null
är angett för parametern name
), verkställs alla databasändringar sedan den senaste, icke-namngivna lagringspunkten (den senaste lagringspunkten som skapats genom att anropa setSavepoint()
utan parametern name
). Om metoden setSavepoint()
t.ex. har anropats tre gånger, ställs tre lagringspunkter in. Om releaseSavepoint()
anropas vid den punkten verkställs SQL-åtgärderna som utförts sedan den tredje (senaste) lagringspunkten.
Om ett värde anges för parametern name
verkställer den här metoden alla SQL-åtgärder som utförts sedan lagringspunkten med det angivna namnet. Om andra lagringspunkter har skapats efter den angivna lagringspunkten verkställs även åtgärderna som utförts efter dessa lagringspunkter.
När en lagringspunkt frisläpps eller återställs tas den lagringspunkten och alla senare lagringspunkter bort. Om koden kör ytterligare SQL-åtgärder efter att ett releaseSavepoint()
- eller rollbackToSavepoint()
-anrop har tagit bort en lagringspunkt, tillhör de åtgärderna den senaste av de kvarvarande lagringspunkterna. (De tillhör med andra ord den senast skapade lagringspunkten före den borttagna lagringspunkten.) Om inga lagringspunkter finns kvar tillhör åtgärderna huvudtransaktionen.
Parametrar
name:String (default = null ) — String Namnet på lagringspunkten från vilken alla SQL-åtgärder ska verkställas. Om ett värde inte anges eller om parametern är null (standardvärdet) används den senaste, icke-namngivna lagringspunkten (skapas med ett anrop till setSavepoint() utan ett name -värde). Värdet för name får inte vara en tom sträng ("" ).
| |
responder:Responder (default = null ) — Responder Ett objekt som anger vilka metoder som ska anropas när åtgärden lyckas eller misslyckas. I asynkront körningsläge, om argumentet responder är null , skickas en releaseSavepoint - eller error -händelse när körningen har slutförts.
|
Händelser
releaseSavepoint: — Skickas när åtgärden har slutförts.
| |
error: — Skickas när åtgärden misslyckas i asynkront körningsläge.
|
Utlöser
ArgumentError — när värdet för parametern name är en tom sträng ("" ).
| |
IllegalOperationError — Om metoden anropas utan att SQLConnection-instansen är ansluten till någon databas (egenskapen connected är false ) eller om inga transaktioner har öppnats (egenskapen inTransaction är false ).
| |
SQLError — Om åtgärden misslyckas i synkront körningsläge.
|
Relaterade API-element
removeEventListener | () | metod |
override public function removeEventListener(type:String, listener:Function, useCapture:Boolean = false):void
Språkversion: | ActionScript 3.0 |
Körningsmiljöversioner: | AIR 1.0 |
Tar bort en avlyssnare från EventDispatcher-objektet. Ett anrop till den här metoden har ingen effekt om det inte finns någon matchande avlyssnare registrerad för EventDispatcher-objektet.
Parametrar
type:String — Händelsens typ.
| |
listener:Function — Det avlyssnarobjekt som ska tas bort.
| |
useCapture:Boolean (default = false ) —
Anger om avlyssnaren registrerades för hämtningsfasen eller mål- och bubblingsfaserna. Om avlyssnaren registrerades både för hämtningsfasen och mål- och bubblingsfaserna krävs två anrop till removeEventListener() för att båda ska tas bort: ett anrop med useCapture() inställt på true och ett annat anrop med useCapture() inställt på false .
|
rollback | () | metod |
public function rollback(responder:Responder = null):void
Språkversion: | ActionScript 3.0 |
Körningsmiljöversioner: | AIR 1.0 |
Ångrar en befintlig transaktion som har skapats med begin()
-metoden, vilket innebär att alla ändringar som har utförts av någon SQL-sats i transaktionen tas bort.
Mellanliggande lagringspunkter kan markeras i en transaktion genom att anropa metoden setSavepoint()
. Med lagringspunkter kan du verkställa delar av en transaktion genom att anropa metoden releaseSavepoint()
eller återställa delar av en transaktion genom att anropa rollbackToSavepoint()
. Om du anropar metoden rollback()
kommer alla ändringar i en transaktion att tas bort permanent, oavsett om enskilda lagringspunkter har frisläppts (verkställts) innan transaktionen återställdes.
Parametrar
responder:Responder (default = null ) — Ett objekt som utser vilka metoder som ska anropas när åtgärden fungerar eller misslyckas. I asynkront körningsläge, om argumentet responder är null , skickas en rollback - eller error -händelse när körningen har slutförts.
|
Händelser
rollback: — Skickas när åtgärden har slutförts.
| |
error: — Skickas när åtgärden misslyckas i asynkront körningsläge.
|
Utlöser
IllegalOperationError — Om metoden anropas utan att SQLConnection-instansen är ansluten till någon databas (egenskapen connected är false ) eller om inga transaktioner har öppnats (egenskapen inTransaction är false ).
| |
SQLError — Om åtgärden misslyckas i synkront körningsläge.
|
Relaterade API-element
rollbackToSavepoint | () | metod |
public function rollbackToSavepoint(name:String = null, responder:Responder = null):void
Språkversion: | ActionScript 3.0 |
Körningsmiljöversioner: | AIR 2 |
Återställer alla SQL-åtgärder som begärts sedan den senaste lagringspunkten eller namngivna lagringspunkten, om ett namn har angetts.
Observera att om hela transaktionen verkställs genom att metoden commit()
anropas, kommer eventuella ändringar i transaktionen som inte redan återställts med metoden rollbackToSavepoint()
att sparas permanent i databasen. Dessutom, om du anropar metoden rollback()
kommer alla ändringar att tas bort permanent, oavsett om enskilda lagringspunkter har frisläppts (verkställts) eller återställts innan transaktionen återställdes.
Om metoden anropas utan parametrar (eller om null
är angett för parametern name
), återställs alla databasändringar sedan den senaste, icke-namngivna lagringspunkten (det senaste anropet till setSavepoint()
utan parametervärdet name
).
Om ett värde anges för parametern name
återställer den här metoden alla SQL-åtgärder som utförts sedan lagringspunkten med det angivna namnet. Om andra lagringspunkter har skapats efter den angivna lagringspunkten återställs även åtgärderna som utförts efter dessa lagringspunkter.
När en lagringspunkt frisläpps eller återställs tas den lagringspunkten och alla senare lagringspunkter bort. Om koden kör ytterligare SQL-åtgärder efter att ett releaseSavepoint()
- eller rollbackToSavepoint()
-anrop har tagit bort en lagringspunkt, tillhör de åtgärderna den senaste av de kvarvarande lagringspunkterna. (De tillhör med andra ord den senast skapade lagringspunkten före den borttagna lagringspunkten.) Om inga lagringspunkter finns kvar tillhör åtgärderna huvudtransaktionen.
Parametrar
name:String (default = null ) — String Namnet på lagringspunkten till vilken databasen ska återställas. Om ett värde inte anges eller om parametern är null (standardvärdet) används den senaste, icke-namngivna lagringspunkten (skapas med ett anrop till setSavepoint() utan ett name -värde). Värdet för name får inte vara en tom sträng ("" ).
| |
responder:Responder (default = null ) — Responder Ett objekt som anger vilka metoder som ska anropas när åtgärden lyckas eller misslyckas. I asynkront körningsläge, om argumentet responder är null , skickas en rollbackToSavepoint - eller error -händelse när körningen har slutförts.
|
Händelser
rollbackToSavepoint: — Skickas när åtgärden har slutförts.
| |
error: — Skickas när åtgärden misslyckas i asynkront körningsläge.
|
Utlöser
ArgumentError — när värdet för parametern name är en tom sträng ("" ).
| |
IllegalOperationError — Om metoden anropas utan att SQLConnection-instansen är ansluten till någon databas (egenskapen connected är false ) eller om inga transaktioner har öppnats (egenskapen inTransaction är false ).
| |
SQLError — Om åtgärden misslyckas i synkront körningsläge.
|
Relaterade API-element
setSavepoint | () | metod |
public function setSavepoint(name:String = null, responder:Responder = null):void
Språkversion: | ActionScript 3.0 |
Körningsmiljöversioner: | AIR 2 |
Skapar en lagringspunkt, som är som ett bokmärke i en databastransaktion. En lagringspunkt representerar en punkt inuti en transaktion. De SQL-åtgärder som utförts mellan lagringspunkterna kan verkställas eller återställas separat från andra åtgärder med metoderna releaseSavepoint()
och rollbackToSavepoint()
. På det sättet kan du behandla en uppsättning SQL-åtgärder som en kapslad transaktion med användning av en lagringspunkt.
Om en transaktion inte har öppnats (genom att metoden begin()
anropas) startar en transaktion och en lagringspunkt skapas i början av transaktionen när metoden setSavepoint()
anropas. Om en transaktion redan är öppen skapas en lagringspunkt i transaktionen när setSavepoint()
anropas.
Observera att inga ändringar sparas permanent i databasen förrän hela transaktionen har genomförts. Om transaktionen startas med metoden begin()
måste du anropa metoden commit()
för att genomföra hela transaktionen. Om transaktionen startas genom att du anropar setSavepoint()
när inTransaction
är false
, kan du avsluta hela transaktionen genom att anropa metoden commit()
. Transaktionen avslutas även automatiskt när du anropar releaseSavepoint()
eller rollbackToSavepoint()
för lagringspunkten som startade transaktionen.
Du kan ge en lagringspunkt ett namn genom att ange ett värde för parametern name
. Det gör att du kan återställa eller verkställa alla ändringar sedan den specifika lagringspunkten. En lagringspunkt utan namn skapas om ett namn inte anges (standardinställningen).
När en lagringspunkt frisläpps eller återställs tas den lagringspunkten och alla senare lagringspunkter bort. Om koden kör ytterligare SQL-åtgärder efter att ett releaseSavepoint()
- eller rollbackToSavepoint()
-anrop har tagit bort en lagringspunkt, tillhör de åtgärderna den senaste av de kvarvarande lagringspunkterna. (De tillhör med andra ord den senast skapade lagringspunkten före den borttagna lagringspunkten.) Om inga lagringspunkter finns kvar tillhör åtgärderna huvudtransaktionen.
Parametrar
name:String (default = null ) — String Lagringspunktens namn. Om ett värde inte anges eller om parametern är null (standardvärdet) verkställs eller återställs SQL-åtgärderna som utförts sedan den icke-namngivna lagringspunkten när releaseSavepoint() eller rollbackToSavepoint() anropas nästa gång utan parametern name .
Om det angivna namnet är samma som en tidigare lagringspunkt, verkställs eller återställs alla ändringar som utförts sedan den senaste lagringspunkten med det namnet när Värdet för | |
responder:Responder (default = null ) — Responder Ett objekt som anger vilka metoder som ska anropas när åtgärden lyckas eller misslyckas. I asynkront körningsläge, om argumentet responder är null , skickas en setSavepoint - eller error -händelse när körningen har slutförts.
|
Händelser
setSavepoint: — Skickas när åtgärden har slutförts.
| |
error: — Skickas när åtgärden misslyckas i asynkront körningsläge.
|
Utlöser
ArgumentError — när värdet för parametern name är en tom sträng ("" ).
| |
IllegalOperationError — Om den här metoden anropas när SQLConnection-instansen inte är ansluten till en databas (egenskapen connected är false ).
| |
SQLError — Om åtgärden misslyckas i synkront körningsläge.
|
Relaterade API-element
analyze | Händelse |
flash.events.SQLEvent
egenskap SQLEvent.type =
flash.events.SQLEvent.ANALYZE
Språkversion: | ActionScript 3.0 |
Körningsmiljöversioner: | AIR 1.0 |
Skickas när en analyze()
-åtgärd har slutförts.
SQLEvent.ANALYZE
-konstanten definierar värdet på type
-egenskapen i ett analyze
-händelseobjekt. Den här händelsetypen skickas när en SQLConnection.analyze()
-metods anrop slutförs. Analyze
-händelsen har följande egenskaper:
Egenskap | Värde |
---|---|
bubbles | false |
cancelable | false ; det finns inget standardbeteende att avbryta. |
currentTarget | Det objekt som aktivt behandlar event-objektet med en händelseavlyssnare. |
target | SQLConnection-objektet som utförde åtgärden. |
Relaterade API-element
attach | Händelse |
flash.events.SQLEvent
egenskap SQLEvent.type =
flash.events.SQLEvent.ATTACH
Språkversion: | ActionScript 3.0 |
Körningsmiljöversioner: | AIR 1.0 |
Skickas när en åtgärd för ett attach()
-metodanrop har slutförts.
SQLEvent.ATTACH
-konstanten definierar värdet på type
-egenskapen i ett attach
-händelseobjekt. Den här händelsetypen skickas när en SQLConnection.analyze()
-metods anrop slutförs. Attach
-händelsen har följande egenskaper:
Egenskap | Värde |
---|---|
bubbles | false |
cancelable | false ; det finns inget standardbeteende att avbryta. |
currentTarget | Det objekt som aktivt behandlar event-objektet med en händelseavlyssnare. |
target | SQLConnection-objektet som utförde åtgärden. |
Relaterade API-element
begin | Händelse |
flash.events.SQLEvent
egenskap SQLEvent.type =
flash.events.SQLEvent.BEGIN
Språkversion: | ActionScript 3.0 |
Körningsmiljöversioner: | AIR 1.0 |
Skickas när en åtgärd för ett begin()
-metodanrop har slutförts.
SQLEvent.BEGIN
-konstanten definierar värdet på type
-egenskapen i ett begin
-händelseobjekt. Den här händelsetypen skickas när en SQLConnection.begin()
-metods anrop slutförs. Begin
-händelsen har följande egenskaper:
Egenskap | Värde |
---|---|
bubbles | false |
cancelable | false ; det finns inget standardbeteende att avbryta. |
currentTarget | Det objekt som aktivt behandlar event-objektet med en händelseavlyssnare. |
target | SQLConnection-objektet som utförde åtgärden. |
Relaterade API-element
cancel | Händelse |
flash.events.SQLEvent
egenskap SQLEvent.type =
flash.events.SQLEvent.CANCEL
Språkversion: | ActionScript 3.0 |
Körningsmiljöversioner: | AIR 1.0 |
Skickas när en åtgärd för ett cancel()
-metodanrop har slutförts.
SQLEvent.CANCEL
-konstanten definierar värdet på type
-egenskapen i ett cancel
-händelseobjekt. Den här händelsetypen skickas när en SQLConnection.begin()
-metods anrop slutförs. Cancel
-händelsen har följande egenskaper:
Egenskap | Värde |
---|---|
bubbles | false |
cancelable | false ; det finns inget standardbeteende att avbryta. |
currentTarget | Det objekt som aktivt behandlar event-objektet med en händelseavlyssnare. |
target | SQLConnection eller SQLStatement-objektet som utförde åtgärden. |
Relaterade API-element
close | Händelse |
flash.events.SQLEvent
egenskap SQLEvent.type =
flash.events.SQLEvent.CLOSE
Språkversion: | ActionScript 3.0 |
Körningsmiljöversioner: | AIR 1.0 |
Skickas när en åtgärd för ett close()
-metodanrop har slutförts.
SQLEvent.CLOSE
-konstanten definierar värdet på type
-egenskapen i ett close
-händelseobjekt. Den här händelsetypen skickas när en SQLConnection.closet()
-metods anrop slutförs. Close
-händelsen har följande egenskaper:
Egenskap | Värde |
---|---|
bubbles | false |
cancelable | false ; det finns inget standardbeteende att avbryta. |
currentTarget | Det objekt som aktivt behandlar event-objektet med en händelseavlyssnare. |
target | SQLConnection-objektet som utförde åtgärden. |
Relaterade API-element
commit | Händelse |
flash.events.SQLEvent
egenskap SQLEvent.type =
flash.events.SQLEvent.COMMIT
Språkversion: | ActionScript 3.0 |
Körningsmiljöversioner: | AIR 1.0 |
Skickas när en åtgärd för ett commit()
-metodanrop har slutförts.
SQLEvent.COMMIT
-konstanten definierar värdet på type
-egenskapen i ett commit
-händelseobjekt. Den här händelsetypen skickas när en SQLConnection.commit()
-metods anrop slutförs. Commit
-händelsen har följande egenskaper:
Egenskap | Värde |
---|---|
bubbles | false |
cancelable | false ; det finns inget standardbeteende att avbryta. |
currentTarget | Det objekt som aktivt behandlar event-objektet med en händelseavlyssnare. |
target | SQLConnection-objektet som utförde åtgärden. |
Relaterade API-element
compact | Händelse |
flash.events.SQLEvent
egenskap SQLEvent.type =
flash.events.SQLEvent.COMPACT
Språkversion: | ActionScript 3.0 |
Körningsmiljöversioner: | AIR 1.0 |
Skickas när en åtgärd för ett compact()
-metodanrop har slutförts.
SQLEvent.COMPACT
-konstanten definierar värdet på type
-egenskapen i ett compact
-händelseobjekt. Den här händelsetypen skickas när en SQLConnection.compact()
-metods anrop slutförs. Compact
-händelsen har följande egenskaper:
Egenskap | Värde |
---|---|
bubbles | false |
cancelable | false ; det finns inget standardbeteende att avbryta. |
currentTarget | Det objekt som aktivt behandlar event-objektet med en händelseavlyssnare. |
target | SQLConnection-objektet som utförde åtgärden. |
Relaterade API-element
deanalyze | Händelse |
flash.events.SQLEvent
egenskap SQLEvent.type =
flash.events.SQLEvent.DEANALYZE
Språkversion: | ActionScript 3.0 |
Körningsmiljöversioner: | AIR 1.0 |
Skickas när en åtgärd för ett deanalyze()
-metodanrop har slutförts.
SQLEvent.DEANALYZE
-konstanten definierar värdet på type
-egenskapen i ett deanalyze
-händelseobjekt. Den här händelsetypen skickas när en SQLConnection.deanalyze()
-metods anrop slutförs. Deanalyze
-händelsen har följande egenskaper:
Egenskap | Värde |
---|---|
bubbles | false |
cancelable | false ; det finns inget standardbeteende att avbryta. |
currentTarget | Det objekt som aktivt behandlar event-objektet med en händelseavlyssnare. |
target | SQLConnection-objektet som utförde åtgärden. |
Relaterade API-element
delete | Händelse |
flash.events.SQLUpdateEvent
egenskap SQLUpdateEvent.type =
flash.events.SQLUpdateEvent.DELETE
Språkversion: | ActionScript 3.0 |
Körningsmiljöversioner: | AIR 1.0 |
Skickas när data ändras i någon av tabellerna i de anslutna databaserna till följd av ett SQL DELETE
-kommando. Dataändringen kan vara ett direkt resultat av en DELETE
-sats som körs genom en SQLStatement-instans eller ett indirekt resultat orsakat av en utlösare som har aktiverats som svar på en satskörning.
SQLUpdateEvent.DELETE
-konstanten definierar värdet på type
-egenskapen i en delete
-händelse. Delete
-händelsen har följande egenskaper:
Egenskap | Värde |
---|---|
bubbles | false |
cancelable | false ; det finns inget standardbeteende att avbryta. |
currentTarget | Det objekt som aktivt behandlar event-objektet med en händelseavlyssnare. |
rowID | Den unika radidentifieraren för den rad som lades till, togs bort eller uppdaterades. |
target | SQLConnection-objektet på vilket åtgärden utfördes. |
table | Namnet på tabellen där ändringen inträffade. |
Relaterade API-element
detach | Händelse |
flash.events.SQLEvent
egenskap SQLEvent.type =
flash.events.SQLEvent.DETACH
Språkversion: | ActionScript 3.0 |
Körningsmiljöversioner: | AIR 1.0 |
Skickas när en åtgärd för ett detach()
-metodanrop har slutförts.
SQLEvent.DETACH
-konstanten definierar värdet på type
-egenskapen i ett detach
-händelseobjekt. Den här händelsetypen skickas när en SQLConnection.detach()
-metods anrop slutförs.
Egenskap | Värde |
---|---|
bubbles | false |
cancelable | false ; det finns inget standardbeteende att avbryta. |
currentTarget | Det objekt som aktivt behandlar event-objektet med en händelseavlyssnare. |
target | SQLConnection-objektet som utförde åtgärden. |
Relaterade API-element
error | Händelse |
flash.events.SQLErrorEvent
egenskap SQLErrorEvent.type =
flash.events.SQLErrorEvent.ERROR
Språkversion: | ActionScript 3.0 |
Körningsmiljöversioner: | AIR 1.0 |
Skickas när någon av SQLConnection-objektets asynkrona åtgärder leder till ett fel. SQLErrorEvent-instansen som skickas som händelseobjekt har en error
-egenskap som innehåller information om åtgärden som har misslyckats samt dess felorsak.
SQLErrorEvent.ERROR
definierar värdet på type
-egenskap i en felhändelse som skickas när ett anrop till en SQLConnection-metod eller SQLStatement-instans som slutar i ett fel. Error
-händelsen har följande egenskaper:
Egenskap | Värde |
---|---|
bubbles | false |
cancelable | false ; det finns inget standardbeteende att avbryta. |
error | Ett SQLError-objekt innehåller information om felet som inträffade och åtgärden som har orsakat felet. |
currentTarget | Det objekt som aktivt behandlar event-objektet med en händelseavlyssnare. |
target | SQLConnection eller SQLStatement-objektet rapporterar felet. |
insert | Händelse |
flash.events.SQLUpdateEvent
egenskap SQLUpdateEvent.type =
flash.events.SQLUpdateEvent.INSERT
Språkversion: | ActionScript 3.0 |
Körningsmiljöversioner: | AIR 1.0 |
Skickas när data har ändrats i en tabell i någon av de anslutna databaserna till följd av ett SQL INSERT
-kommando. Dataändringen kan vara ett direkt resultat av en INSERT
-sats som körs genom en SQLStatement-instans eller ett indirekt resultat orsakat av en utlösare som har aktiverats som svar på en satskörning.
SQLUpdateEvent.INSERT
-konstanten definierar värdet på type
-egenskapen i en insert
-händelse. Insert
-händelsen har följande egenskaper:
Egenskap | Värde |
---|---|
bubbles | false |
cancelable | false ; det finns inget standardbeteende att avbryta. |
currentTarget | Det objekt som aktivt behandlar event-objektet med en händelseavlyssnare. |
rowID | Den unika radidentifieraren för den rad som lades till, togs bort eller uppdaterades. |
target | SQLConnection-objektet på vilket åtgärden utfördes. |
table | Namnet på tabellen där ändringen inträffade. |
Relaterade API-element
open | Händelse |
flash.events.SQLEvent
egenskap SQLEvent.type =
flash.events.SQLEvent.OPEN
Språkversion: | ActionScript 3.0 |
Körningsmiljöversioner: | AIR 1.0 |
Skickas när en åtgärd för ett openAsync()
-metodanrop har slutförts.
SQLEvent.OPEN
-konstanten definierar värdet på type
-egenskapen i ett open
-händelseobjekt. Den här händelsetypen skickas när en SQLConnection.closet()
eller SQLConnection.openAsync()
-metods anrop slutförs. Open
-händelsen har följande egenskaper:
Egenskap | Värde |
---|---|
bubbles | false |
cancelable | false ; det finns inget standardbeteende att avbryta. |
currentTarget | Det objekt som aktivt behandlar event-objektet med en händelseavlyssnare. |
target | SQLConnection-objektet som utförde åtgärden. |
Relaterade API-element
reencrypt | Händelse |
flash.events.SQLEvent
egenskap SQLEvent.type =
flash.events.SQLEvent.REENCRYPT
Språkversion: | ActionScript 3.0 |
Körningsmiljöversioner: | AIR 1.5 |
Skickas när en åtgärd för ett reencrypt()
-metodanrop har slutförts.
SQLEvent.REENCRYPT
-konstanten definierar värdet på type
-egenskapen i ett reencrypt
-händelseobjekt. Den här händelsetypen skickas när en SQLConnection.reencrypt()
-metods anrop slutförs. Reencrypt
-händelsen har följande egenskaper:
Egenskap | Värde |
---|---|
bubbles | false |
cancelable | false ; det finns inget standardbeteende att avbryta. |
currentTarget | Det objekt som aktivt behandlar event-objektet med en händelseavlyssnare. |
target | SQLConnection-objektet som utförde åtgärden. |
Relaterade API-element
releaseSavepoint | Händelse |
flash.events.SQLEvent
egenskap SQLEvent.type =
flash.events.SQLEvent.RELEASE_SAVEPOINT
Språkversion: | ActionScript 3.0 |
Körningsmiljöversioner: | AIR 2 |
Skickas när en åtgärd för ett releaseSavepoint()
-metodanrop har slutförts.
SQLEvent.RELEASE_SAVEPOINT
definierar värdet för type
-egenskapen i ett releaseSavepoint
-händelseobjekt. Den här händelsetypen skickas när en SQLConnection.releaseSavepoint()
-metods anrop slutförs. releaseSavepoint
-händelsen har följande egenskaper:
Egenskap | Värde |
---|---|
bubbles | false |
cancelable | false ; det finns inget standardbeteende att avbryta. |
currentTarget | Det objekt som aktivt behandlar event-objektet med en händelseavlyssnare. |
target | SQLConnection-objektet som utförde åtgärden. |
Relaterade API-element
rollback | Händelse |
flash.events.SQLEvent
egenskap SQLEvent.type =
flash.events.SQLEvent.ROLLBACK
Språkversion: | ActionScript 3.0 |
Körningsmiljöversioner: | AIR 1.0 |
Skickas när en åtgärd för ett rollback()
-metodanrop har slutförts.
SQLEvent.ROLLBACK
-konstanten definierar värdet på type
-egenskapen i ett rollback
-händelseobjekt. Den här händelsetypen skickas när en SQLConnection.rollback()
-metods anrop slutförs. Rollback
-händelsen har följande egenskaper:
Egenskap | Värde |
---|---|
bubbles | false |
cancelable | false ; det finns inget standardbeteende att avbryta. |
currentTarget | Det objekt som aktivt behandlar event-objektet med en händelseavlyssnare. |
target | SQLConnection-objektet som utförde åtgärden. |
Relaterade API-element
rollbackToSavepoint | Händelse |
flash.events.SQLEvent
egenskap SQLEvent.type =
flash.events.SQLEvent.ROLLBACK_TO_SAVEPOINT
Språkversion: | ActionScript 3.0 |
Körningsmiljöversioner: | AIR 2 |
Skickas när en åtgärd för ett rollbackToSavepoint()
-metodanrop har slutförts.
SQLEvent.ROLLBACK_TO_SAVEPOINT
definierar värdet för type
-egenskapen i ett rollbackToSavepoint
-händelseobjekt. Den här händelsetypen skickas när en SQLConnection.rollbackToSavepoint()
-metods anrop slutförs. rollbackToSavepoint
-händelsen har följande egenskaper:
Egenskap | Värde |
---|---|
bubbles | false |
cancelable | false ; det finns inget standardbeteende att avbryta. |
currentTarget | Det objekt som aktivt behandlar event-objektet med en händelseavlyssnare. |
target | SQLConnection-objektet som utförde åtgärden. |
Relaterade API-element
schema | Händelse |
flash.events.SQLEvent
egenskap SQLEvent.type =
flash.events.SQLEvent.SCHEMA
Språkversion: | ActionScript 3.0 |
Körningsmiljöversioner: | AIR 1.0 |
Skickas när en åtgärd för ett loadSchema()
-metodanrop har slutförts och schemaresultaten är klara.
SQLEvent.SCHEMA
-konstanten definierar värdet på type
-egenskapen i ett schema
-händelseobjekt. Skickas när SQLConnection.loadSchema()
-metoden slutförs. När SQLEvent.SCHEMA
-händelsen skickas kan SQLConnection.getSchemaResult()
-metoden användas för att få tillgång till schemainformationen. Schema
-händelsen har följande egenskaper:
Egenskap | Värde |
---|---|
bubbles | false |
cancelable | false ; det finns inget standardbeteende att avbryta. |
currentTarget | Det objekt som aktivt behandlar event-objektet med en händelseavlyssnare. |
target | SQLConnection-objektet som utförde åtgärden. |
Relaterade API-element
setSavepoint | Händelse |
flash.events.SQLEvent
egenskap SQLEvent.type =
flash.events.SQLEvent.SET_SAVEPOINT
Språkversion: | ActionScript 3.0 |
Körningsmiljöversioner: | AIR 2 |
Skickas när en åtgärd för ett setSavepoint()
-metodanrop har slutförts.
SQLEvent.SET_SAVEPOINT
definierar värdet för type
-egenskapen i ett setSavepoint
-händelseobjekt. Den här händelsetypen skickas när en SQLConnection.setSavepoint()
-metods anrop slutförs. setSavepoint
-händelsen har följande egenskaper:
Egenskap | Värde |
---|---|
bubbles | false |
cancelable | false ; det finns inget standardbeteende att avbryta. |
currentTarget | Det objekt som aktivt behandlar event-objektet med en händelseavlyssnare. |
target | SQLConnection-objektet som utförde åtgärden. |
Relaterade API-element
update | Händelse |
flash.events.SQLUpdateEvent
egenskap SQLUpdateEvent.type =
flash.events.SQLUpdateEvent.UPDATE
Språkversion: | ActionScript 3.0 |
Körningsmiljöversioner: | AIR 1.0 |
Skickas när data har ändrats i en tabell i någon av de anslutna databaserna till följd av ett SQL UPDATE
-kommando. Dataändringen kan vara ett direkt resultat av en UPDATE
-sats som körs igenom en SQLStatement-instans eller ett indirekt resultat orsakat av en utlösare som har aktiverats som svar på en satskörning.
SQLUpdateEvent.UPDATE
-konstanten definierar värdet på type
egenskapen i en update
-händelse.
Update
-händelsen har följande egenskaper:
Egenskap | Värde |
---|---|
bubbles | false |
cancelable | false ; det finns inget standardbeteende att avbryta. |
currentTarget | Det objekt som aktivt behandlar event-objektet med en händelseavlyssnare. |
rowID | Den unika radidentifieraren för den rad som lades till, togs bort eller uppdaterades. |
target | SQLConnection-objektet på vilket åtgärden utfördes. |
table | Namnet på tabellen där ändringen inträffade. |
Relaterade API-element
Tue Jun 12 2018, 01:40 PM Z