패키지 | flash.data |
클래스 | public class SQLConnection |
상속 | SQLConnection EventDispatcher Object |
언어 버전: | ActionScript 3.0 |
런타임 버전: | AIR 1.0 |
SQLConnection 클래스의 기능은 다음과 같은 여러 범주로 나누어집니다.
-
open()
메서드 또는 SQLConnection 인스턴스를 SQLStatement의sqlConnection
속성에 호출하면 로컬 SQL 데이터베이스 파일이 만들어지거나 열립니다. -
SQLConnection 클래스는 트랜잭션에서 여러 명령문을 실행하는 메커니즘을 비롯해 SQL 문에 대한 상태도 제공합니다. 트랜잭션은
begin()
,commit()
및rollback()
메서드를 사용하여 관리됩니다. 또한setSavepoint()
,releaseSavepoint()
및rollbackToSavepoint()
메서드를 사용하면 코드를 통해 저장점을 정의하고 관리할 수 있습니다. 이러한 메서드는 트랜잭션을 작업 세트로 나누는 데 사용됩니다. -
SQLConnection 클래스에서는 연결된 데이터베이스의 데이터베이스 스키마 정보에 대한 액세스를 제공합니다. 데이터베이스의 스키마는 데이터베이스의 테이블, 열, 인덱스 및 트리거에 대한 정의를 설명합니다. 자세한 내용은
loadSchema()
메서드를 참조하십시오. -
SQLConnection 클래스에서는 CCM에서 AES를 사용하여 데이터베이스를 암호화하는 기능을 제공합니다. 이 클래스에서는 데이터에 대한 인증과 개인 정보 보호 기능을 모두 제공합니다. 데이터베이스를 암호화하려면 데이터베이스를 만들 때 ByteArray를 사용하여 16바이트 키를 지정해야 합니다. 이 키는 나중에
SQLConnection.reencrypt()
메서드를 사용하여 변경할 수 있습니다. 암호화 기능을 사용하면 데이터베이스에서 읽고 쓸 때 성능이 저하됩니다. 암호화는 디스크에 저장된 데이터에 적용되지만 메모리에 있는 임시 데이터 캐시에는 적용되지 않습니다. 메모리 내 데이터베이스에는 암호화가 지원되지 않습니다. -
SQLConnection 인스턴스는 데이터베이스 수준 이벤트 알림을 수신하고 캐시 페이지 크기, 프로세스 취소 및 명령문 실행 옵션을 비롯한 데이터베이스의 모든 측면에 대한 구성 제어를 제공하는 데 사용할 수 있습니다.
SQLConnection
인스턴스는 비동기 및 동기의 두 가지 고유한 실행 모드 중 하나로 작동합니다. 동기 실행을 사용하려면 open()
메서드를 사용하여 SQLConnection 인스턴스의 기본 데이터베이스에 연결합니다. 비동기 실행을 사용하려면 openAsync()
메서드를 사용하여 인스턴스의 기본 데이터베이스에 연결합니다.
비동기 실행을 사용하는 경우 이벤트 리스너나 Responder 인스턴스를 사용하여 작업이 완료되거나 실패하는 때를 확인합니다. 작업이 기본 응용 프로그램 스레드가 아닌 백그라운드로 실행되므로 데이터베이스 작업이 수행되는 동안에도 응용 프로그램이 계속 실행되고 사용자 상호 작용에 응답합니다. 각 비동기 SQLConnection 인스턴스는 자체 스레드에서 SQL 문을 실행합니다.
비동기 실행 모드에서는 해당 메서드를 호출하여 특정 작업을 시작하고 해당 이벤트의 리스너를 등록하여 작업의 완료 또는 실패를 감지할 수 있습니다. 각 작업에는 작업이 성공적으로 완료될 때 전달되는 이벤트가 연결되어 있습니다. 예를 들어 openAsync()
메서드 호출이 성공적으로 완료되면(데이터베이스 연결이 열리면) open
이벤트가 전달됩니다. 작업이 실패하면 error
이벤트가 전달됩니다. SQLErrorEvent 객체의 error
속성에 있는 SQLError 인스턴스에는 시도된 작업과 이 작업이 실패한 이유를 비롯한 특정 오류에 대한 정보가 포함됩니다.
동기 실행을 사용하는 경우 작업이 완료 또는 실패하는 때를 확인하기 위해 이벤트 리스너를 등록할 필요가 없습니다. 오류를 식별하려면 오류가 발생하는 문을 try..catch
블록으로 묶습니다. 동기 작업은 기본 실행 스레드에서 실행되므로 데이터베이스 작업이 수행되는 동안 모든 응용 프로그램 기능(예: 화면 새로 고침, 마우스 및 키보드 조작 허용)이 일시 정지됩니다. 오래 실행되는 작업의 경우 이로 인해 응용 프로그램이 상당히 오래 정지할 수 있습니다.
추가 정보
퀵 스타트: 로컬 SQL 데이터베이스의 비동기적 작업(Flash)
퀵 스타트: 로컬 SQL 데이터베이스의 비동기적 작업(HTML)
퀵 스타트: 로컬 SQL 데이터베이스의 동기적 작업(Flex)
퀵 스타트: 로컬 SQL 데이터베이스의 동기적 작업(Flash)
퀵 스타트: 로컬 SQL 데이터베이스의 동기적 작업(HTML)
관련 API 요소
속성 | 정의 주체 | ||
---|---|---|---|
autoCompact : Boolean [읽기 전용]
현재 데이터베이스를 처음에 만들 때 자동 압축을 설정했는지 여부를 나타냅니다(데이터베이스를 만든 open() 또는 openAsync() 호출에서 autoCompact 매개 변수에 지정한 값). | SQLConnection | ||
cacheSize : uint
메모리에 한 번에 저장할 수 있는 최대 데이터베이스 디스크 페이지 수를 나타내는 이 연결의 캐시 크기에 대한 액세스를 제공합니다. | SQLConnection | ||
columnNameStyle : String
SELECT 문의 결과에서 열 이름이 보고되는 방식을 나타냅니다. | SQLConnection | ||
connected : Boolean [읽기 전용]
SQLConnection 인스턴스에 데이터베이스 파일에 대한 연결이 열려 있는지 여부를 나타냅니다. | SQLConnection | ||
constructor : Object
지정된 객체 인스턴스의 클래스 객체 또는 생성자 함수에 대한 참조입니다. | Object | ||
inTransaction : Boolean [읽기 전용]
이 연결이 현재 트랜잭션에 포함되어 있는지 여부를 나타냅니다. | SQLConnection | ||
isSupported : Boolean [정적] [읽기 전용]
SQLConnection 클래스가 현재 플랫폼에서 지원되는지 여부를 나타냅니다. | SQLConnection | ||
lastInsertRowID : Number [읽기 전용]
SQL INSERT 문에서 생성한 마지막 행 식별자입니다. | SQLConnection | ||
pageSize : uint [읽기 전용]
현재 데이터베이스를 처음에 만들 때 지정한 데이터베이스 페이지 크기(바이트)를 나타냅니다(데이터베이스를 만든 open() 또는 openAsync() 호출에서 pageSize 매개 변수에 지정한 값). | SQLConnection | ||
totalChanges : Number [읽기 전용]
데이터베이스에 대한 연결을 연 이후로 변경한 데이터 변경 사항의 총 수를 포함합니다. | SQLConnection |
메서드 | 정의 주체 | ||
---|---|---|---|
SQLConnection 인스턴스를 만듭니다. | SQLConnection | ||
addEventListener(type:String, listener:Function, useCapture:Boolean = false, priority:int = 0.0, useWeakReference:Boolean = false):void [재정의]
리스너에서 이벤트 알림을 받을 수 있도록 EventDispatcher 객체에 이벤트 리스너 객체를 등록합니다. | SQLConnection | ||
데이터베이스 인덱스에 대한 통계를 수집하여 데이터베이스에 저장합니다. | SQLConnection | ||
attach(name:String, reference:Object = null, responder:Responder = null, encryptionKey:ByteArray = null):void
새 데이터베이스에 지정된 이름을 지정하여 SQLConnection 인스턴스에 다른 데이터베이스를 추가합니다. | SQLConnection | ||
연결의 데이터베이스에 대해 실행되는 모든 SQL 문이 그룹화되는 트랜잭션을 시작합니다. | SQLConnection | ||
SQLConnection 인스턴스에 연결된 데이터베이스에서 현재 실행 중인 모든 SQL 문을 중단합니다. | SQLConnection | ||
현재 데이터베이스 연결을 닫습니다. | SQLConnection | ||
기존 트랜잭션을 커밋하여 트랜잭션의 명령문에서 수행한 모든 작업을 데이터베이스에 영구적으로 적용합니다. | SQLConnection | ||
데이터베이스에서 사용되지 않는 공간을 모두 회수합니다. | SQLConnection | ||
analyze() 메서드에 대한 호출로 만든 통계 정보를 모두 제거합니다. | SQLConnection | ||
이전에 attach() 메서드를 사용하여 SQLConnection 인스턴스에 연결한 추가 데이터베이스를 분리합니다. | SQLConnection | ||
이벤트를 이벤트 흐름으로 전달합니다. | EventDispatcher | ||
loadSchema() 메서드 호출의 결과에 대한 액세스를 제공합니다. | SQLConnection | ||
EventDispatcher 객체에 특정 유형의 이벤트에 대한 리스너가 등록되어 있는지 여부를 확인합니다. | EventDispatcher | ||
지정된 속성이 객체에 정의되어 있는지 여부를 나타냅니다. | Object | ||
Object 클래스의 인스턴스가 매개 변수로 지정된 객체의 프로토타입 체인에 있는지 여부를 나타냅니다. | Object | ||
loadSchema(type:Class = null, name:String = null, database:String = "main", includeColumnSchema:Boolean = true, responder:Responder = null):void
연결된 데이터베이스나 첨부된 데이터베이스에서 스키마 정보를 로드합니다. | SQLConnection | ||
open(reference:Object = null, openMode:String = "create", autoCompact:Boolean = false, pageSize:int = 1024, encryptionKey:ByteArray = null):void
파일 시스템의 지정된 위치에 있는 데이터베이스 파일에 대한 동기 연결을 열거나, 해당 위치에 새 데이터베이스 파일을 만들고 열거나, 메모리 내 데이터베이스를 만들고 엽니다. | SQLConnection | ||
openAsync(reference:Object = null, openMode:String = "create", responder:Responder = null, autoCompact:Boolean = false, pageSize:int = 1024, encryptionKey:ByteArray = null):void
파일 시스템의 지정된 위치에 있는 데이터베이스 파일에 대한 비동기 연결을 열거나, 해당 위치에 새 데이터베이스 파일을 만들고 열거나, 메모리 내 데이터베이스를 만들고 엽니다. | SQLConnection | ||
지정된 속성이 존재하고 열거 가능한지 여부를 나타냅니다. | Object | ||
암호화된 데이터베이스의 암호화 키를 변경합니다. | SQLConnection | ||
이 메서드는 최근 저장점 또는 이름이 지정된 경우 해당 이름을 갖는 저장점 이후 수행된 SQL 작업을 커밋합니다. | SQLConnection | ||
[재정의]
EventDispatcher 객체에서 리스너를 제거합니다. | SQLConnection | ||
begin() 메서드로 만든 기존 트랜잭션을 롤백합니다. 즉, 트랜잭션의 모든 SQL 문에서 변경한 내용이 모두 삭제됩니다. | SQLConnection | ||
최근 저장점 또는 이름이 지정된 경우 해당 이름을 갖는 저장점 이후의 모든 SQL 작업을 롤백합니다. | SQLConnection | ||
루프 작업에서 동적 속성을 사용할 수 있는지 여부를 설정합니다. | Object | ||
데이터베이스 트랜잭션 내의 북마크 같은 저장점을 만듭니다. | SQLConnection | ||
로캘별 규칙에 따라 서식이 지정된 이 객체의 문자열 표현을 반환합니다. | Object | ||
지정된 객체의 문자열 표현을 반환합니다. | Object | ||
지정된 객체의 프리미티브 값을 반환합니다. | Object | ||
이 EventDispatcher 객체 또는 조상 객체에 지정한 이벤트 유형에 대한 이벤트 리스너가 등록되어 있는지 여부를 확인합니다. | EventDispatcher |
이벤트 | 요약 | 정의 주체 | ||
---|---|---|---|---|
[브로드캐스트 이벤트] Flash Player 또는 AIR 응용 프로그램이 운영 체제 포커스를 얻어 활성화될 때 전달됩니다. | EventDispatcher | |||
analyze() 메서드 호출 작업이 성공적으로 완료될 때 전달됩니다. | SQLConnection | |||
attach() 메서드 호출 작업이 성공적으로 완료될 때 전달됩니다. | SQLConnection | |||
begin() 메서드 호출 작업이 성공적으로 완료될 때 전달됩니다. | SQLConnection | |||
cancel() 메서드 호출 작업이 성공적으로 완료될 때 전달됩니다. | SQLConnection | |||
close() 메서드 호출 작업이 성공적으로 완료될 때 전달됩니다. | SQLConnection | |||
commit() 메서드 호출 작업이 성공적으로 완료될 때 전달됩니다. | SQLConnection | |||
compact() 메서드 호출 작업이 성공적으로 완료될 때 전달됩니다. | SQLConnection | |||
[브로드캐스트 이벤트] Flash Player 또는 AIR 응용 프로그램이 운영 체제 포커스를 잃고 비활성화될 때 전달됩니다. | EventDispatcher | |||
deanalyze() 메서드 호출 작업이 성공적으로 완료될 때 전달됩니다. | SQLConnection | |||
연결된 데이터베이스에 있는 테이블의 데이터가 SQL DELETE 명령의 결과로 변경될 때 전달됩니다. | SQLConnection | |||
detach() 메서드 호출 작업이 성공적으로 완료될 때 전달됩니다. | SQLConnection | |||
SQLConnection 객체의 비동기 작업에서 오류가 발생할 때 전달됩니다. | SQLConnection | |||
연결된 데이터베이스에 있는 테이블의 데이터가 SQL INSERT 명령의 결과로 변경될 때 전달됩니다. | SQLConnection | |||
openAsync() 메서드 호출 작업이 성공적으로 완료될 때 전달됩니다. | SQLConnection | |||
reencrypt() 메서드 호출 작업이 성공적으로 완료될 때 전달됩니다. | SQLConnection | |||
releaseSavepoint() 메서드 호출 작업이 성공적으로 완료될 때 전달됩니다. | SQLConnection | |||
rollback() 메서드 호출 작업이 성공적으로 완료될 때 전달됩니다. | SQLConnection | |||
rollbackToSavepoint() 메서드 호출 작업이 성공적으로 완료될 때 전달됩니다. | SQLConnection | |||
loadSchema() 메서드 호출 작업이 성공적으로 완료되고 스키마 결과가 준비될 때 전달됩니다. | SQLConnection | |||
setSavepoint() 메서드 호출 작업이 성공적으로 완료될 때 전달됩니다. | SQLConnection | |||
연결된 데이터베이스에 있는 테이블의 데이터가 SQL UPDATE 명령의 결과로 변경될 때 전달됩니다. | SQLConnection |
autoCompact | 속성 |
autoCompact:Boolean
[읽기 전용] 언어 버전: | ActionScript 3.0 |
런타임 버전: | AIR 1.0 |
현재 데이터베이스를 처음에 만들 때 자동 압축을 설정했는지 여부를 나타냅니다(데이터베이스를 만든 open()
또는 openAsync()
호출에서 autoCompact
매개 변수에 지정한 값). 이 속성이 true
인 경우 각 쓰기 작업 후 데이터베이스 파일에서 사용되지 않는 공간을 자동으로 제거하여 데이터베이스 파일을 작게 유지합니다. 이 속성이 false
인 경우에는 제거된 데이터가 기존에 사용하던 공간이 데이터베이스 파일에서 그대로 유지되고 필요할 때 다시 사용됩니다. autoCompact
가 false
인 경우에도 compact()
메서드를 호출하여 데이터베이스에서 사용되지 않는 공간을 회수하도록 강제할 수 있습니다.
connected
속성이 false
이면 이 속성도 false
로 설정됩니다.
구현
public function get autoCompact():Boolean
관련 API 요소
cacheSize | 속성 |
cacheSize:uint
언어 버전: | ActionScript 3.0 |
런타임 버전: | AIR 1.0 |
메모리에 한 번에 저장할 수 있는 최대 데이터베이스 디스크 페이지 수를 나타내는 이 연결의 캐시 크기에 대한 액세스를 제공합니다. 각 페이지는 약 1.5KB의 메모리를 사용하며 이 크기는 데이터베이스를 만든 open()
또는 openAsync()
메서드 호출의 pageSize
매개 변수에 지정한 값에 따라 다릅니다. 기본 캐시 크기는 2000입니다. 응용 프로그램에서 많은 데이터베이스 행을 변경하는 UPDATE
또는 DELETE
작업을 실행하는 경우 캐시 크기를 늘리면 더 많은 메모리를 사용하지만 속도를 높일 수 있습니다.
구현
public function get cacheSize():uint
public function set cacheSize(value:uint):void
오류
IllegalOperationError — SQLConnection 인스턴스가 데이터베이스에 연결되어 있지 않을 때(connected 속성이 false 일 때) 이 속성을 설정하려고 하는 경우 또는 트랜잭션이 현재 열려 있는 경우(inTransaction 속성이 true 인 경우)입니다.
|
관련 API 요소
columnNameStyle | 속성 |
columnNameStyle:String
언어 버전: | ActionScript 3.0 |
런타임 버전: | AIR 1.0 |
SELECT
문의 결과에서 열 이름이 보고되는 방식을 나타냅니다.
다음과 같이 SQLColumnNameStyle 클래스에 정의된 상수를 이 속성의 값으로 사용할 수 있습니다.
SQLColumnNameStyle.LONG
은 열 이름이[table-name]_[column-name]
형식으로 반환되도록 지정합니다.SQLColumnNameStyle.SHORT
는 열 이름이[column-name]
형식을 갖도록 지정됩니다. 같은 이름의 열이 여럿 있는 경우 해당 이름의 속성 하나만 결과 객체에 추가됩니다.SQLColumnNameStyle.DEFAULT
가 기본값입니다. 이 값을 사용하면SELECT
문에서 열 이름이 유사한 테이블의 수에 따라 결과 열 이름의 형식이 지정됩니다.SELECT
문에 테이블이 한 개만 있는 경우[column-name]
과 같이 짧은 이름 형식이 사용되고SELECT
문에 여러 테이블이 결합되어 있는 경우 두 열의 이름이 동일하여 이름 충돌이 있는 경우에는 항상 동일한 이름의 열에 대해[table-name]_[column-name]
과 같이 긴 이름 형식이 사용됩니다.
구현
public function get columnNameStyle():String
public function set columnNameStyle(value:String):void
오류
IllegalOperationError — SQLConnection 인스턴스가 데이터베이스에 연결되어 있지 않을 때(connected 속성이 false 일 때) 이 속성을 설정하려고 하는 경우
|
관련 API 요소
connected | 속성 |
inTransaction | 속성 |
isSupported | 속성 |
lastInsertRowID | 속성 |
lastInsertRowID:Number
[읽기 전용] 언어 버전: | ActionScript 3.0 |
런타임 버전: | AIR 1.0 |
SQL INSERT
문에서 생성한 마지막 행 식별자입니다. 행 식별자는 데이터베이스 내의 테이블에 있는 행을 고유하게 식별하는 데 사용됩니다. 이 값은 데이터베이스에서 자주 생성됩니다.
데이터베이스가 연결되어 있지 않거나 INSERT
문을 실행하지 않은 경우 이 값은 0입니다.
단일 SQL INSERT
문 실행을 위한 행 식별자는 SQLStatement 객체의 getResult()
메서드에 의해 반환된 SQLResult 객체의 lastInsertRowID
속성을 통해 가져올 수 있습니다(SQLStatement가 해당 result
이벤트를 전달한 후에 호출한 경우).
기본 키 및 행 식별자에 대한 자세한 내용은 "CREATE TABLE" 및 "Expressions" 섹션(부록 "로컬 데이터베이스의 SQL 지원")을 참조하십시오.
구현
public function get lastInsertRowID():Number
관련 API 요소
pageSize | 속성 |
pageSize:uint
[읽기 전용] 언어 버전: | ActionScript 3.0 |
런타임 버전: | AIR 1.0 |
현재 데이터베이스를 처음에 만들 때 지정한 데이터베이스 페이지 크기(바이트)를 나타냅니다(데이터베이스를 만든 open()
또는 openAsync()
호출에서 pageSize
매개 변수에 지정한 값).
connected
속성이 false
이면 이 속성 값은 0입니다.
데이터베이스에서 첫 번째 테이블을 만들기 전까지는 데이터베이스의 페이지 크기를 open()
또는 openAsync()
메서드를 사용하여 변경할 수 있습니다.
구현
public function get pageSize():uint
관련 API 요소
totalChanges | 속성 |
totalChanges:Number
[읽기 전용] 언어 버전: | ActionScript 3.0 |
런타임 버전: | AIR 1.0 |
데이터베이스에 대한 연결을 연 이후로 변경한 데이터 변경 사항의 총 수를 포함합니다. 이 값은 INSERT
, DELETE
및 UPDATE
문으로 인해 변경된 내용을 추적할 뿐 아니라 트리거로 인한 변경 사항도 포함합니다.
데이터베이스 연결이 닫히면 이 값은 0으로 재설정됩니다. SQLConnection 인스턴스가 데이터베이스에 연결되어 있지 않은 경우 이 값은 0입니다.
구현
public function get totalChanges():Number
관련 API 요소
SQLConnection | () | 생성자 |
public function SQLConnection()
언어 버전: | ActionScript 3.0 |
런타임 버전: | AIR 1.0 |
SQLConnection 인스턴스를 만듭니다.
오류
SecurityError — 생성자가 기본 응용 프로그램 샌드박스 외부의 샌드박스에서 호출된 경우입니다.
|
addEventListener | () | 메서드 |
override public function addEventListener(type:String, listener:Function, useCapture:Boolean = false, priority:int = 0.0, useWeakReference:Boolean = false):void
언어 버전: | ActionScript 3.0 |
런타임 버전: | AIR 1.0 |
리스너에서 이벤트 알림을 받을 수 있도록 EventDispatcher 객체에 이벤트 리스너 객체를 등록합니다. 표시 목록의 모든 노드에서 특정 유형의 이벤트, 단계, 우선 순위에 대한 이벤트 리스너를 등록할 수 있습니다.
이벤트 리스너의 등록을 마친 뒤에는 addEventListener()
를 추가로 호출하여 그 우선 순위를 변경할 수 없습니다. 리스너의 우선 순위를 변경하려면 먼저 removeListener()
를 호출해야 합니다. 그런 다음 해당 리스너를 새로운 우선 순위 레벨로 다시 등록할 수 있습니다.
일단 리스너가 등록된 뒤에 type
또는 useCapture
값을 달리하여 addEventListener()
를 이어서 호출하면 별도의 리스너 등록이 생성된다는 것에 유의합니다. 예를 들어 useCapture
가 true
로 설정된 리스너를 등록하면 이 리스너는 캡처 단계 동안에만 수신합니다. 그러나 useCapture
를 false
로 설정하고 동일한 리스너 객체를 사용하여 addEventListener()
를 다시 호출하면 별도로 두 개의 리스너가 등록되어, 한 리스너는 캡처 단계 동안 수신하고 다른 하나는 대상 및 버블링 단계 동안 수신합니다.
대상 단계 또는 버블링 단계 전용의 이벤트 리스너를 등록할 수는 없습니다. 버블링은 대상 노드의 조상에만 적용되기 때문에 이들 단계는 등록 과정에서 하나로 통합됩니다.
사용하지 않는 이벤트 리스너는 removeEventListener()
를 호출하여 제거하도록 합니다. 이렇게 하지 않으면 메모리 문제가 발생할 수 있습니다. useWeakReference
매개 변수가 true
로 설정되지 않은 경우 전달하는 객체가 있는 한, 가비지 수집기는 이벤트 리스너를 제거하지 않으므로 리스너는 메모리에서 자동으로 제거되지 않습니다.
EventDispatcher 인스턴스를 복사해도 연결된 이벤트 리스너는 복사되지 않습니다. 새로 만든 노드에 이벤트 리스너가 필요한 경우, 노드를 만든 후 리스너를 연결해야 합니다. 그러나 EventDispatcher 인스턴스를 이동할 때에는 연결된 이벤트 리스너도 함께 이동됩니다.
이벤트를 처리 중인 노드에서 이벤트 리스너를 등록하는 경우, 그 이벤트 리스너는 현재 단계 동안에는 트리거되지 않지만 이벤트 흐름에서 이후 단계(예: 버블링 단계) 동안에는 트리거될 수 있습니다.
이벤트를 처리 중인 노드에서 이벤트 리스너를 제거하는 경우, 그 리스너는 현재 액션에 의해 트리거됩니다. 일단 제거된 이벤트 리스너는 이후의 처리를 위해 재등록하지 않는 한 다시는 호출되지 않습니다.
매개 변수
type:String — 이벤트 유형입니다.
| |
listener:Function — 이벤트를 처리하는 리스너 함수입니다. 아래 예제에서 보듯이, 이 함수는 Event 객체를 유일한 매개 변수로 사용하며 아무 것도 반환하지 않아야 합니다.
function(evt:Event):void 함수의 이름은 임의로 지정할 수 있습니다. | |
useCapture:Boolean (default = false ) —
리스너가 캡처 단계에서 작동하는지 아니면 대상 및 버블링 단계에서 작동하는지를 결정합니다. useCapture 가 true 로 설정된 경우, 리스너는 캡처 단계에서만 이벤트를 처리하고 대상 또는 버블링 단계에서는 작동하지 않습니다. useCapture 가 false 인 경우, 리스너는 대상 또는 버블링 단계 동안에만 이벤트를 처리합니다. 세 단계 모두에서 이벤트를 수신하려면 addEventListener 를 두 번 호출해야 합니다. 먼저 useCapture 를 true 로 설정하여 호출한 다음 useCapture 를 false 로 설정하여 다시 호출합니다.
| |
priority:int (default = 0.0 ) — 이벤트 리스너의 우선 순위 레벨입니다. 우선 순위는 부호 있는 32비트 정수로 지정됩니다. 숫자가 클수록 우선 순위가 높습니다. 우선 순위가 n인 리스너를 모두 처리한 뒤에 우선 순위가 n -1인 리스너가 처리됩니다. 둘 이상의 리스너가 우선 순위가 같을 경우, 추가된 순서에 따라 처리됩니다. 기본 우선 순위는 0입니다.
| |
useWeakReference:Boolean (default = false ) — 리스너에 대한 참조가 강한지 아니면 약한지를 결정합니다. 강한 참조(기본값)는 해당 리스너의 가비지 수집을 막습니다. 약한 참조는 이를 막지 못합니다. 클래스 레벨 멤버 함수는 가비지 수집의 영향을 받지 않으므로 가비지 수집과 상관없이 클래스 레벨 멤버 함수의 |
analyze | () | 메서드 |
public function analyze(resourceName:String = null, responder:Responder = null):void
언어 버전: | ActionScript 3.0 |
런타임 버전: | AIR 1.0 |
데이터베이스 인덱스에 대한 통계를 수집하여 데이터베이스에 저장합니다. 이러한 통계는 쿼리 최적화 프로그램(각 명령문을 실행하는 가장 효율적인 방법을 결정하는 데이터베이스 엔진 부분)에서 사용할 수 있습니다. 이 통계는 쿼리 최적화 프로그램에서 특정 쿼리를 실행할 때 사용할 적합한 인덱스를 선택하는 데 도움이 됩니다.
데이터베이스에 인덱스가 정의되어 있는 경우 analyze()
메서드를 호출하지 않았더라도 런타임에서 이러한 색인을 사용하여 명령문을 실행합니다. 그러나 analyze()
메서드에서 생성하는 추가 통계 정보가 없으면 런타임에서 특정 쿼리에 대해 가장 효율적인 인덱스를 선택할 수 없습니다.
INSERT
, UPDATE
또는 DELETE
문의 결과로 테이블의 데이터가 변경되면 해당 테이블에 연결된 인덱스도 변경됩니다. analyze()
에서 생성하는 통계 정보는 자동으로 업데이트되지 않습니다. 따라서 많은 수의 데이터 변경을 수행한 이후에는 analyze()
메서드를 다시 호출하는 것이 유익할 수 있습니다. 그러나 analyze()
를 다시 호출하여 얻는 이점은 테이블에 정의된 인덱스 수, 테이블에서 변경된 행 수와 총 행 수 사이의 관계, 테이블의 인덱싱된 데이터 간의 편차 및 변경된 데이터와 사전 변경 데이터 간의 차이를 비롯한 여러 요인에 따라 달라집니다.
resourceName
매개 변수는 연결된 모든 데이터베이스, 특정 데이터베이스 또는 특정 테이블 중 어떤 것의 인덱스에 대해 작업을 수행할지를 나타냅니다.
이 메서드를 호출할 때마다 이전에 만든 통계 데이터는 제거되고 resourceName
매개 변수에서 지정한 데이터베이스 또는 테이블(또는 resourceName
이 null
인 경우 연결된 모든 데이터베이스의 모든 테이블)에 대해 통계 데이터가 다시 만들어집니다. 이 메서드는 데이터베이스 연결이 열려 있는 동안에 언제든 호출할 수 있습니다. analyze()
작업 및 해당 통계 데이터는 트랜잭션에 포함되지 않습니다. 그러나 데이터베이스에 현재 트랜잭션이 있는 경우(inTransaction
속성이 true
인 경우)에는 analyze()
를 호출하지 않는 것이 좋습니다. 이는 트랜잭션에서 실행되었지만 아직 커밋되지 않은 모든 데이터, 테이블 스키마 또는 인덱스 변경 사항이 analyze()
호출에서 고려되지 않으며 트랜잭션이 커밋되면 analyze()
데이터가 최신이 아닌 데이터가 되기 때문입니다.
analyze()
메서드로 만든 통계 데이터를 제거하려면 deanalyze()
메서드를 사용합니다.
매개 변수
resourceName:String (default = null ) — 해당 인덱스를 분석할 데이터베이스 또는 테이블의 이름입니다. 지정한 리소스가 연결된 모든 데이터베이스에서 이름이 고유한 테이블인 경우 테이블 이름만 지정하면 됩니다. 그러나 테이블 이름이 고유하지 않은 경우 모호하지 않게 하려면 [database-name].[table-name] 형식으로 테이블 이름을 지정할 수 있습니다. resourceName 매개 변수가 null (기본값)인 경우 연결된 모든 데이터베이스의 모든 인덱스를 분석합니다.
| |
responder:Responder (default = null ) — 작업이 성공하거나 실패할 때 호출할 메서드를 지정하는 객체입니다. 비동기 실행 모드에서는 responder 인수가 null 인 경우 실행이 완료될 때 analyze 또는 error 이벤트가 전달됩니다.
|
이벤트
analyze: — 작업이 성공적으로 완료될 때 전달됩니다.
| |
error: — 비동기 실행 모드에서 작업이 실패하는 경우 전달됩니다.
|
오류
IllegalOperationError — SQLConnection 인스턴스가 데이터베이스에 연결되어 있지 않을 때(connected 속성이 false 일 때) 이 메서드를 호출하는 경우
| |
SQLError — 동기 실행 모드에서 작업이 실패하는 경우입니다.
|
관련 API 요소
attach | () | 메서드 |
public function attach(name:String, reference:Object = null, responder:Responder = null, encryptionKey:ByteArray = null):void
언어 버전: | ActionScript 3.0 |
런타임 버전: | AIR 1.0 |
새 데이터베이스에 지정된 이름을 지정하여 SQLConnection 인스턴스에 다른 데이터베이스를 추가합니다. 데이터베이스를 연결하면 이 SQLConnection 인스턴스에 대해 실행되는 SQL 문에서 해당 데이터베이스를 사용할 수 있습니다.
지정된 이름을 사용하여 데이터베이스가 이미 연결되어 있는 경우 attach()
를 호출하면 오류가 발생합니다. 그러나 동일한 데이터베이스를 다른 이름을 사용하여 여러 번 연결할 수는 있습니다. 단일 SQLConnection 인스턴스에 10개의 데이터베이스만 연결할 수 있습니다.
attach()
를 사용하여 연결한 데이터베이스에 대해 기본 데이터베이스(open()
또는 openAsync()
를 사용하여 연결한 데이터베이스)에 대해 실행할 수 있는 모든 SQL 문을 실행할 수 있습니다. SQL 문에서는 명령문과 관련된 SQLConnection 인스턴스에 연결된 모든 데이터베이스의 테이블에 액세스할 수 있습니다. 또한 단일 명령문에서 여러 데이터베이스의 테이블에 액세스할 수도 있습니다. 런타임에서 명령문의 테이블 이름을 확인할 때는 open()
또는 openAsync()
메서드를 사용하여 연결한 데이터베이스를 시작으로 데이터베이스가 연결된 순서대로 SQLConnection 인스턴스의 데이터베이스를 검색합니다. 명령문에서 attach()
메서드의 name
매개 변수에 지정한 데이터베이스 이름을 사용하여 테이블 이름을 명시적으로 한정할 수 있습니다.
attach()
메서드를 사용하여 연결한 데이터베이스를 제거하려면 detach()
메서드를 사용합니다. close()
메서드를 호출하여 SQLConnection 인스턴스를 닫으면 연결된 데이터베이스가 모두 분리됩니다.
연결된 데이터베이스에서는 기본 데이터베이스를 open()
메서드 또는 openAsync()
메서드 중 어떤 메서드를 사용하여 연결했는지에 따라 기본 데이터베이스와 동일한 실행 모드(동기 또는 비동기)를 사용합니다.
매개 변수
name:String — 새로 연결한 데이터베이스를 식별하는 데 사용하는 이름입니다. 이 이름은 [database-name].[table-name] 형식을 사용할 때 테이블이 지정된 데이터베이스에 속해 있음을 명시적으로 지정하는 SQL 문에서 사용할 수 있습니다. 이름 "main" 및 "temp"는 예약되어 있으므로 사용할 수 없습니다.
| |
reference:Object (default = null ) — 연결할 데이터베이스 파일에 대한 참조입니다(flash.filesystem.File 인스턴스). 이 참조가 존재하지 않는 파일을 참조하는 경우 기본 데이터베이스를 연결한 open() 또는 openAsync() 호출에서 openMode 매개 변수에 지정한 값에 따라 새 데이터베이스 파일이 만들어지거나 오류가 발생합니다.
매개 변수 값이 | |
responder:Responder (default = null ) — 작업이 성공하거나 실패할 때 호출할 메서드를 지정하는 객체입니다. 비동기 실행 모드에서는 responder 인수가 null 인 경우 실행이 완료될 때 attach 또는 error 이벤트가 전달됩니다.
| |
encryptionKey:ByteArray (default = null ) — 데이터베이스 파일에 대한 암호화 키입니다. attach() 호출로 데이터베이스를 만드는 경우 데이터베이스가 암호화되고 지정한 키가 데이터베이스에 대한 암호화 키로 사용됩니다. 호출에서 암호화된 기존 데이터베이스를 연결하는 경우 값은 데이터베이스의 암호화 키와 일치해야 합니다. 그렇지 않으면 오류가 발생합니다. 연결 중인 데이터베이스가 암호화되지 않았거나 암호화되지 않은 데이터베이스를 만들려면 값이 null (기본값)이어야 합니다.
유효한 암호화 키의 길이는 16바이트입니다. 메모리 내 데이터베이스는 암호화할 수 없기 때문에 이 매개 변수는 암호화된 데이터베이스를 연결할 때 제공된 암호화 키가 데이터베이스의 암호화 키와 일치하지 않으면 예외가 발생합니다. 동기 실행 모드에서는 SQLError 예외가 발생합니다. 비동기 실행 모드에서는 SQLErrorEvent가 전달되고 이벤트 객체의 AIR 1.5부터 시작하여 |
이벤트
attach: — 작업이 성공적으로 완료될 때 전달됩니다.
| |
error: — 비동기 실행 모드에서 작업이 실패하는 경우 전달됩니다.
|
오류
ArgumentError — name 매개 변수가 빈 문자열("" ) 또는 null 인 경우입니다.
| |
ArgumentError — reference 매개 변수에 지정한 값이 flash.filesystem.File 인스턴스가 아닌 경우
| |
ArgumentError — encryptionKey 인수가 null 이 아니고 해당 length 가 16바이트가 아닌 경우
| |
ArgumentError — reference 매개 변수가 null 이고 encryptionKey 인수가 null 이 아닌 경우
| |
IllegalOperationError — SQLConnection 인스턴스가 데이터베이스에 연결되어 있지 않은 경우(connected 속성이 false 인 경우) 또는 트랜잭션이 현재 열려 있는 경우(inTransaction 속성이 true 인 경우)입니다.
| |
SQLError — 동기 실행 모드에서 작업이 실패하는 경우입니다.
|
관련 API 요소
begin | () | 메서드 |
public function begin(option:String = null, responder:Responder = null):void
언어 버전: | ActionScript 3.0 |
런타임 버전: | AIR 1.0 |
연결의 데이터베이스에 대해 실행되는 모든 SQL 문이 그룹화되는 트랜잭션을 시작합니다.
기본적으로 각 SQL 문은 자체의 트랜잭션 내에서 실행되며 이 트랜잭션은 명령문의 실행이 성공하거나 실패할 때 종료됩니다. begin()
메서드를 사용하여 트랜잭션을 만들면 새로운 수동 트랜잭션이 만들어집니다. 이 때부터 SQLConnection 인스턴스에 대해 실행되는 모든 SQL 문은 트랜잭션 내에서 실행되며 명령문에서 수행하는 모든 작업 또는 수정을 그룹으로 커밋(영구적으로 만들기) 또는 롤백(실행 취소)할 수 있습니다.
트랜잭션을 종료하려면 트랜잭션의 명령문에서 변경한 내용을 영구적으로 만들지 또는 삭제할지에 따라 commit()
또는 rollback()
메서드를 호출합니다.
begin()
을 중첩 호출할 경우 무시됩니다. setSavepoint()
메서드를 호출하여 트랜잭션 내의 북마크 같은 저장점을 만들 수 있습니다. 그런 다음 releaseSavepoint()
또는 rollbackToSavepoint()
메서드를 호출하여 SQL 문을 부분적으로 커밋하거나 롤백할 수 있습니다. 그러나 begin()
을 호출하여 트랜잭션을 시작한 경우 commit()
메서드를 호출할 때까지 변경 사항이 데이터베이스에 영구적으로 커밋되지 않습니다.
현재 트랜잭션이 열려 있는 동안 데이터베이스 연결이 닫혀 있으면 AIR에서는 자동으로 트랜잭션을 롤백합니다. (참고: AIR 1.1 및 그 이전 버전의 경우 열려 있는 트랜잭션은 연결이 닫힐 때 자동으로 커밋됩니다.)
트랜잭션은 단일 데이터베이스에서의 명령문 실행으로만 제한되지 않습니다. 트랜잭션에는 연결된 여러 데이터베이스에서 실행되는 명령문이 포함될 수 있습니다.
매개 변수
option:String (default = null ) — 트랜잭션에서 사용할 잠금 전략을 나타냅니다. 이 값은 SQLTransactionLockType 클래스에 정의된 상수 중 하나가 될 수 있습니다.
기본값( | |
responder:Responder (default = null ) — 작업이 성공하거나 실패할 때 호출할 메서드를 지정하는 객체입니다. 비동기 실행 모드에서는 responder 인수가 null 인 경우 실행이 완료되면 begin 또는 error 이벤트가 전달됩니다.
|
이벤트
begin: — 작업이 완료될 때 전달됩니다.
| |
error: — 비동기 실행 모드에서 작업이 실패하는 경우 전달됩니다.
|
오류
IllegalOperationError — SQLConnection 인스턴스가 데이터베이스에 연결되어 있지 않을 때(connected 속성이 false 일 때) 이 메서드를 호출하는 경우
| |
ArgumentError — 지정한 옵션이 SQLTransactionLockType 상수 중 하나가 아닌 경우입니다.
| |
SQLError — 동기 실행 모드에서 작업이 실패하는 경우입니다.
|
관련 API 요소
rollback()
setSavepoint()
releaseSavepoint()
rollbackToSavepoint()
flash.data.SQLTransactionLockType
예제 ( 예제 사용 방법 )
INSERT
문을 실행하는 방법을 보여 줍니다. 먼저 "employees" 테이블에 행 하나가 추가됩니다. 그런 다음 새로 삽입된 행의 기본 키가 검색되고 관련 "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
문을 실행하는 방법을 보여 줍니다. 트랜잭션을 사용하여 직원 레코드를 삭제합니다. 먼저 "phoneNumbers" 테이블의 관련 행이 삭제됩니다. 그런 다음 "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 | () | 메서드 |
public function cancel(responder:Responder = null):void
언어 버전: | ActionScript 3.0 |
런타임 버전: | AIR 1.0 |
SQLConnection 인스턴스에 연결된 데이터베이스에서 현재 실행 중인 모든 SQL 문을 중단합니다. 이 메서드는 오래 실행되는 쿼리나 런어웨이 쿼리를 중지하는 데 사용할 수 있습니다.
cancel()
을 호출할 때 실행되고 있는 명령문이 있는 경우 이 메서드는 명령문의 작업 및 완료되지 않은 업데이트를 중단하거나 트랜잭션을 롤백합니다. 현재 실행되고 있는 명령문이 없는 경우 이 메서드를 호출하면 열려 있는 트랜잭션을 롤백합니다. 열려 있는 트랜잭션이 없는 경우 아무것도 수행하지 않습니다.
매개 변수
responder:Responder (default = null ) — 작업이 성공하거나 실패할 때 호출할 메서드를 지정하는 객체입니다. 비동기 실행 모드에서는 responder 인수가 null 인 경우 실행이 완료되면 cancel 또는 error 이벤트가 전달됩니다.
|
이벤트
cancel: — 작업이 성공적으로 완료될 때 전달됩니다.
| |
error: — 비동기 실행 모드에서 작업이 실패하는 경우 전달됩니다.
|
오류
IllegalOperationError — SQLConnection 인스턴스가 데이터베이스에 연결되어 있지 않을 때(connected 속성이 false 일 때) 이 메서드를 호출하는 경우
| |
SQLError — 동기 실행 모드에서 작업이 실패하는 경우입니다.
|
관련 API 요소
close | () | 메서드 |
public function close(responder:Responder = null):void
언어 버전: | ActionScript 3.0 |
런타임 버전: | AIR 1.0 |
현재 데이터베이스 연결을 닫습니다. 연결된 데이터베이스도 모두 분리됩니다.
close()
를 호출할 때 열려 있는 트랜잭션이 있는 경우 트랜잭션이 롤백됩니다. SQLConnection 인스턴스가 가비지 수집인 경우 런타임에서는 close()
를 자동으로 호출합니다. 이때 AIR 응용 프로그램은 닫히지만 SQLConnection은 데이터베이스에 계속 연결되어 있습니다.
매개 변수
responder:Responder (default = null ) — 작업이 성공하거나 실패할 때 호출할 메서드를 지정하는 객체입니다. 비동기 실행 모드에서는 responder 인수가 null 인 경우 실행이 완료되면 close 또는 error 이벤트가 전달됩니다.
|
이벤트
close: — 작업이 성공적으로 완료될 때 전달됩니다.
| |
error: — 비동기 실행 모드에서 작업이 실패하는 경우 전달됩니다.
|
오류
SQLError — 동기 실행 모드에서 작업이 실패하는 경우입니다.
|
commit | () | 메서드 |
public function commit(responder:Responder = null):void
언어 버전: | ActionScript 3.0 |
런타임 버전: | AIR 1.0 |
기존 트랜잭션을 커밋하여 트랜잭션의 명령문에서 수행한 모든 작업을 데이터베이스에 영구적으로 적용합니다.
setSavepoint()
메서드를 호출하여 트랜잭션 내의 북마크 같은 중간 저장점을 만들 수 있습니다. 저장점을 사용하면 releaseSavepoint()
메서드를 호출하여 트랜잭션 일부를 커밋할 수도 있고, rollbackToSavepoint()
메서드를 호출하여 트랜잭션 일부를 롤백할 수도 있습니다. 그러나 begin()
메서드를 사용하여 트랜잭션을 연 경우 commit()
메서드를 호출하여 전체 트랜잭션을 커밋할 때까지 변경 사항이 데이터베이스에 영구적으로 저장되지 않습니다.
저장점을 사용하는 트랜잭션의 경우 rollbackToSavepoint()
메서드를 사용하여 롤백한 모든 명령문은 전체 트랜잭션이 커밋될 때 커밋되지 않습니다. releaseSavepoint()
를 사용하여 커밋한 명령문이나 저장점이 릴리스 또는 롤백되지 않은 명령문은 데이터베이스에 커밋됩니다.
매개 변수
responder:Responder (default = null ) — 작업이 성공하거나 실패할 때 호출할 메서드를 지정하는 객체입니다. 비동기 실행 모드에서는 responder 인수가 null 인 경우 실행이 완료되면 commit 또는 error 이벤트가 전달됩니다.
|
이벤트
commit: — 작업이 성공적으로 완료될 때 전달됩니다.
| |
error: — 작업이 실패로 끝날 때 전달됩니다.
|
오류
IllegalOperationError — SQLConnection 인스턴스가 데이터베이스에 연결되어 있지 않을 때(connected 속성이 false 일 때) 메서드를 호출하는 경우 또는 현재 트랜잭션이 열려 있지 않은 경우(inTransaction 속성이 false 인 경우)입니다.
|
관련 API 요소
compact | () | 메서드 |
public function compact(responder:Responder = null):void
언어 버전: | ActionScript 3.0 |
런타임 버전: | AIR 1.0 |
데이터베이스에서 사용되지 않는 공간을 모두 회수합니다. 데이터베이스에서 객체(테이블, 인덱스 또는 트리거)를 삭제해도 객체는 빈 공간에 남아 있습니다. 이 때문에 데이터베이스 파일이 필요한 것보다 커지지만 INSERT
작업 속도는 높아질 수 있습니다. 시간이 지남에 따라 INSERT
및 DELETE
작업으로 데이터베이스 파일 구조가 조각화되어 데이터베이스 내용에 대한 디스크 액세스가 느려질 수 있습니다. 이 메서드는 빈 페이지를 제거하고, 테이블 데이터를 연속되도록 정렬하고, 데이터베이스 파일 구조를 정리하여 데이터베이스 파일을 압축합니다.
compact()
작업은 연결된 데이터베이스 파일에 대해서는 수행할 수 없습니다. SQLConnection 인스턴스에서 연 기본(원본) 데이터베이스 파일에 대해서만 수행할 수 있습니다. 이 작업은 활성 트랜잭션이 있는 경우 실패하며 메모리 내 데이터베이스에는 영향을 주지 않습니다.
매개 변수
responder:Responder (default = null ) — 작업이 성공하거나 실패할 때 호출할 메서드를 지정하는 객체입니다. 비동기 실행 모드에서는 responder 인수가 null 인 경우 실행이 완료되면 compact 또는 error 이벤트가 전달됩니다.
|
이벤트
compact: — 작업이 성공적으로 완료될 때 전달됩니다.
| |
error: — 비동기 실행 모드에서 작업이 실패하는 경우 전달됩니다.
|
오류
IllegalOperationError — SQLConnection 인스턴스가 데이터베이스에 연결되어 있지 않을 때(connected 속성이 false 일 때) 메서드를 호출하는 경우 또는 현재 트랜잭션이 진행 중인 경우(inTransaction 속성이 true 인 경우)입니다.
| |
SQLError — 동기 실행 모드에서 작업이 실패하는 경우입니다.
|
deanalyze | () | 메서드 |
public function deanalyze(responder:Responder = null):void
언어 버전: | ActionScript 3.0 |
런타임 버전: | AIR 1.0 |
analyze()
메서드에 대한 호출로 만든 통계 정보를 모두 제거합니다.
analyze()
메서드에서 생성한 통계는 데이터베이스의 공간을 사용하므로 deanalyze()
를 호출하면 여러 인덱스 또는 테이블을 삭제할 때와 마찬가지로 해당 공간을 회수할 수 있습니다.
이 작업은 활성 트랜잭션에 포함되지 않습니다.
매개 변수
responder:Responder (default = null ) — 작업이 성공하거나 실패할 때 호출할 메서드를 지정하는 객체입니다. 비동기 실행 모드에서는 responder 인수가 null 인 경우 실행이 완료되면 deanalyze 또는 error 이벤트가 전달됩니다.
|
이벤트
deanalyze: — 작업이 성공적으로 완료될 때 전달됩니다.
| |
error: — 비동기 실행 모드에서 작업이 실패하는 경우 전달됩니다.
|
오류
IllegalOperationError — SQLConnection 인스턴스가 데이터베이스에 연결되어 있지 않을 때(connected 속성이 false 일 때) 이 메서드를 호출하는 경우
| |
SQLError — 동기 실행 모드에서 작업이 실패하는 경우입니다.
|
관련 API 요소
detach | () | 메서드 |
public function detach(name:String, responder:Responder = null):void
언어 버전: | ActionScript 3.0 |
런타임 버전: | AIR 1.0 |
이전에 attach()
메서드를 사용하여 SQLConnection 인스턴스에 연결한 추가 데이터베이스를 분리합니다. 같은 데이터베이스를 서로 다른 이름을 사용하여 여러 번 연결할 수 있으며 연결 하나를 분리해도 다른 연결은 그대로 유지됩니다. 연결에 열려 있는 트랜잭션이 있는 경우(inTransaction
속성이 true
인 경우) 데이터베이스를 분리할 수 없습니다.
매개 변수
name:String — 분리할 데이터베이스에 지정된 이름입니다.
| |
responder:Responder (default = null ) — 작업이 성공하거나 실패할 때 호출할 메서드를 지정하는 객체입니다. 비동기 실행 모드에서는 responder 인수가 null 인 경우 실행이 완료되면 detach 또는 error 이벤트가 전달됩니다.
|
이벤트
detach: — 작업이 성공적으로 완료될 때 전달됩니다.
| |
error: — 비동기 실행 모드에서 작업이 실패하는 경우 전달됩니다.
|
오류
ArgumentError — name 인수가 null 이거나 빈 문자열("" )을 포함하는 경우입니다.
| |
IllegalOperationError — SQLConnection 인스턴스가 데이터베이스에 연결되어 있지 않을 때(connected 속성이 false 일 때) 이 메서드를 호출하는 경우 또는 SQLConnection 인스턴스에 열려 있는 트랜잭션이 있는 경우(inTransaction 속성이 true 인 경우)
| |
SQLError — 동기 실행 모드에서 작업이 실패하는 경우입니다.
|
관련 API 요소
getSchemaResult | () | 메서드 |
public function getSchemaResult():SQLSchemaResult
언어 버전: | ActionScript 3.0 |
런타임 버전: | AIR 1.0 |
loadSchema()
메서드 호출의 결과에 대한 액세스를 제공합니다. getSchemaResult()
메서드는 결과의 선입 선출 대기열로 동작합니다. loadSchema()
메서드 호출이 완료될 때마다(비동기 실행 모드에서 schema
이벤트가 전달될 때마다) 새 SQLSchemaResult 객체가 대기열에 추가됩니다. getSchemaResult()
메서드를 호출할 때마다 가장 오래된 결과(대기열에 처음으로 추가된 결과)가 반환되고 대기열에서 제거됩니다. 대기열에 객체가 더 이상 없으면 getSchemaResult()
는 null
을 반환합니다.
데이터베이스 연결이 닫혀 있는 경우 이 메서드는 null
을 반환합니다.
SQLSchemaResult |
관련 API 요소
loadSchema | () | 메서드 |
public function loadSchema(type:Class = null, name:String = null, database:String = "main", includeColumnSchema:Boolean = true, responder:Responder = null):void
언어 버전: | ActionScript 3.0 |
런타임 버전: | AIR 1.0 |
연결된 데이터베이스나 첨부된 데이터베이스에서 스키마 정보를 로드합니다. 스키마는 데이터베이스의 테이블, 열, 인덱스 및 트리거에 대한 구조를 나타냅니다.
로드된 스키마에 액세스하려면 SQLConnection.getSchemaResult()
메서드를 사용합니다.
비동기 실행 모드에서는 작업에 성공하면 schema
이벤트가 전달되고 작업에 실패하면 error
이벤트가 전달됩니다.
type
및 name
매개 변수 값을 함께 사용하여 loadSchema()
메서드에서 생성되는 스키마 데이터의 유형 즉, 생성되는 SQLSchemaResult 인스턴스의 속성 값을 결정할 수 있습니다. 다음 표에서는 유효한 type
및 name
쌍과 결과로 생성되는 스키마 데이터를 나열합니다.
type 인수 | name 인수 | 스키마 데이터를 검색하는 대상 |
---|---|---|
null | null | 데이터베이스의 모든 객체(모든 테이블, 뷰, 트리거 및 인덱스) |
SQLIndexSchema | null | 데이터베이스의 모든 인덱스 |
SQLIndexSchema | 유효한 테이블 이름 | 지정한 테이블에 정의된 모든 인덱스 |
SQLIndexSchema | 유효한 인덱스 이름 | 지정된 인덱스 |
SQLTableSchema | null | 데이터베이스의 모든 테이블 |
SQLTableSchema | 유효한 테이블 이름 | 지정된 테이블 |
SQLTriggerSchema | null | 데이터베이스의 모든 트리거 |
SQLTriggerSchema | 유효한 테이블 이름 | 지정된 테이블에 연결된 모든 트리거 |
SQLTriggerSchema | 유효한 뷰 이름 | 지정된 뷰에 연결된 모든 트리거 |
SQLTriggerSchema | 유효한 트리거 이름 | 지정된 트리거 |
SQLViewSchema | null | 데이터베이스의 모든 뷰 |
SQLViewSchema | 유효한 뷰 이름 | 지정된 뷰 |
type
및 name
인수가 지정된 조합 중 하나에 해당하지 않는 경우 비동기 실행 모드에서는 error
이벤트가 전달되고 동기 실행 모드에서는 예외가 발생합니다. 예를 들어 type
인수가 SQLViewSchema
이고 name
인수가 뷰의 이름이 아닌 테이블의 이름인 경우 지정한 이름을 가진 지정한 유형의 객체가 데이터베이스에 없다는 오류가 발생합니다.
데이터베이스가 비어 있는 경우(데이터베이스에 테이블, 뷰, 트리거 또는 인덱스가 포함되어 있지 않은 경우) loadSchema()
메서드를 호출하면 오류가 발생합니다.
매개 변수
type:Class (default = null ) — 로드할 스키마의 유형을 나타냅니다. null 값(기본값)은 모든 스키마 정보를 로드한다는 것을 나타냅니다. 이 매개 변수에 null 이 아닌 값을 지정하면 결과 스키마의 범위를 줄여 필요하지 않은 정보를 결과에서 제거하고 작업을 보다 효율적으로 만들 수 있습니다. 이 값은 다음 클래스 중 하나의 클래스 이름이어야 합니다.
| |
name:String (default = null ) — 로드할 리소스 스키마를 나타냅니다. 이 값을 사용하는 방법은 지정한 type 인수에 따라 다릅니다. 일반적으로 이 값은 테이블 이름, 인덱스 또는 뷰 이름 등과 같은 데이터베이스 객체의 이름입니다. 값을 지정하는 경우 지정한 이름의 데이터베이스 객체에 대한 스키마 정보만 결과에 포함됩니다.
지정한 값이 잘못된 경우
| |
database:String (default = "main ") — 스키마를 로드할 데이터베이스의 이름입니다. 지정한 값이 잘못된 경우 error 이벤트가 전달됩니다.
| |
includeColumnSchema:Boolean (default = true ) — 결과에 테이블의 열 및 뷰에 대한 스키마 정보가 포함되는지 여부를 나타냅니다.
| |
responder:Responder (default = null ) — 작업이 성공하거나 실패할 때 호출할 메서드를 지정하는 객체입니다. 비동기 실행 모드에서는 responder 인수가 null 인 경우 실행이 완료되면 schema 또는 error 이벤트가 전달됩니다.
|
이벤트
schema: — 작업이 성공적으로 완료될 때 전달됩니다.
| |
error: — 작업이 실패로 끝날 때 전달됩니다.
|
오류
IllegalOperationError — SQLConnection 인스턴스가 데이터베이스에 연결되어 있지 않을 때(connected 속성이 false 일 때) 이 메서드를 호출하는 경우입니다.
| |
ArgumentError — 지정한 type 인수 값이 허용되는 유형 중 하나가 아닌 경우
| |
SQLError — 동기 실행 모드를 사용할 때 이름 또는 데이터베이스 매개 변수에 잘못된 값을 지정하는 경우
|
관련 API 요소
open | () | 메서드 |
public function open(reference:Object = null, openMode:String = "create", autoCompact:Boolean = false, pageSize:int = 1024, encryptionKey:ByteArray = null):void
언어 버전: | ActionScript 3.0 |
런타임 버전: | AIR 1.0 |
파일 시스템의 지정된 위치에 있는 데이터베이스 파일에 대한 동기 연결을 열거나, 해당 위치에 새 데이터베이스 파일을 만들고 열거나, 메모리 내 데이터베이스를 만들고 엽니다. 데이터베이스를 만들고 여는 작업 및 이 SQLConnection 인스턴스를 사용하여 수행하는 다른 모든 작업(SQLConnection 인스턴스에 연결된 SQLStatement로 수행하는 명령문 실행 및 기타 작업 포함)은 이 메서드를 사용하여 데이터베이스를 열 때 동기적으로 수행됩니다. 작업을 비동기적으로 수행하려면 대신 openAsync()
메서드를 사용하여 데이터베이스 연결을 엽니다.
데이터베이스가 연결되면 SQLStatement 인스턴스를 사용하여 SQL 명령을 실행합니다. 트랜잭션 시작 또는 종료, 스키마 정보 로드 등의 데이터베이스 수준 작업 및 기타 작업은 SQLConnection 인스턴스를 사용하여 수행됩니다.
open()
메서드를 사용하여 연결하는 데이터베이스에는 "main"이라는 데이터베이스 이름이 자동으로 할당됩니다. 이 이름은 SQL 문에서 [database-name].[table-name]
형식을 사용하여 테이블 이름을 명시적으로 한정하는 데 사용할 수 있습니다.
매개 변수
reference:Object (default = null ) — 열 데이터베이스 파일의 위치입니다. 이 값은 flash.filesystem.File 인스턴스여야 합니다. 매개 변수 값이 null 이면 메모리 내 데이터베이스가 만들어져 열립니다.
| |
openMode:String (default = "create ") — 데이터베이스를 열 방법을 나타냅니다. 이 값은 SQLMode 클래스에 정의된 상수 중 하나가 될 수 있습니다. 기본값은 데이터베이스 파일이 지정한 위치에 없는 경우 새로 만든다는 것을 나타내는 SQLMode.CREATE 입니다. openMode 가 SQLMode.READ 이고 지정한 파일이 없는 경우 오류가 발생합니다. reference 매개 변수가 null 이면 이 매개 변수는 무시됩니다.
| |
autoCompact:Boolean (default = false ) — 데이터베이스에서 사용되지 않는 공간을 자동으로 회수할지 여부를 나타냅니다. 이 매개 변수는 새 데이터베이스 파일을 만들거나 테이블을 만들지 않은 데이터베이스 파일을 열 때만 사용할 수 있습니다. 기본적으로 제거된 데이터가 사용하던 공간은 데이터베이스 파일에 그대로 유지되며 필요할 때 다시 사용됩니다. 이 매개 변수를 true 로 지정하면 데이터베이스에서 사용하지 않는 공간을 자동으로 회수합니다. 이렇게 하면 데이터베이스에 데이터를 쓸 때마다 추가 처리가 필요하므로 성능에 나쁜 영향을 미칠 수 있고 시간이 경과함에 따라 데이터베이스 데이터가 조각화될 수도 있습니다. 언제든지 compact() 메서드를 사용하여 데이터베이스가 데이터베이스 파일에서 사용되지 않는 공간을 회수하고 데이터베이스 파일의 조각 모음을 수행하도록 강제할 수 있습니다.
| |
pageSize:int (default = 1024 ) — 데이터베이스의 페이지 크기(바이트)를 나타냅니다. 이 매개 변수는 새 데이터베이스 파일을 만들거나 테이블을 만들지 않은 데이터베이스 파일을 열 때만 사용할 수 있습니다. 이 값은 512보다 크거나 같고 32768보다 작거나 같은 값의 거듭제곱이어야 합니다. 기본값은 1024바이트입니다. 이 값은 테이블을 만들기 전에만 설정할 수 있습니다. 테이블을 만든 후 이 값을 변경하려고 하면 오류가 발생합니다.
| |
encryptionKey:ByteArray (default = null ) — 데이터베이스 파일에 대한 암호화 키입니다. open() 호출로 데이터베이스를 만드는 경우 데이터베이스가 암호화되고 지정한 키가 데이터베이스에 대한 암호화 키로 사용됩니다. 호출에서 암호화된 데이터베이스를 여는 경우 값은 데이터베이스의 암호화 키와 일치해야 합니다. 그렇지 않으면 오류가 발생합니다. 열고 있는 데이터베이스가 암호화되지 않았거나 암호화되지 않은 데이터베이스를 만들려면 값이 null (기본값)이어야 합니다. 그렇지 않으면 오류가 발생합니다.
유효한 암호화 키의 길이는 16바이트입니다. 메모리 내 데이터베이스는 암호화할 수 없기 때문에 이 매개 변수는 암호화된 데이터베이스를 열 때 제공된 암호화 키가 데이터베이스의 암호화 키와 일치하지 않으면 SQLError 예외가 발생합니다. 이 경우 SQLError 객체의 AIR 1.5부터 시작하여 |
이벤트
open: — 작업이 성공적으로 완료될 때 전달됩니다.
|
오류
IllegalOperationError — SQLConnection 인스턴스에 데이터베이스에 대한 연결이 이미 열려 있는 경우(connected 속성이 true 인 경우)입니다.
| |
SQLError — 작업이 실패하는 경우. 작업이 실패한 후에는 연결이 열린 상태로 유지되지 않습니다.
| |
ArgumentError — reference 매개 변수에 지정한 값이 flash.filesystem.File 인스턴스가 아닌 경우
| |
ArgumentError — encryptionKey 인수가 null 이 아니고 해당 length 가 16바이트가 아닌 경우
| |
ArgumentError — reference 매개 변수가 null 이고 encryptionKey 인수가 null 이 아닌 경우
| |
ArgumentError — 잘못된 pageSize 매개 변수를 지정한 경우 여기에는 모드가 SQLMode.READ 일 때 페이지 크기를 전달하는 것도 포함됩니다.
|
관련 API 요소
openAsync | () | 메서드 |
public function openAsync(reference:Object = null, openMode:String = "create", responder:Responder = null, autoCompact:Boolean = false, pageSize:int = 1024, encryptionKey:ByteArray = null):void
언어 버전: | ActionScript 3.0 |
런타임 버전: | AIR 1.0 |
파일 시스템의 지정된 위치에 있는 데이터베이스 파일에 대한 비동기 연결을 열거나, 해당 위치에 새 데이터베이스 파일을 만들고 열거나, 메모리 내 데이터베이스를 만들고 엽니다. 데이터베이스를 만들고 여는 작업 및 이 SQLConnection 인스턴스를 사용하여 수행하는 다른 모든 작업(SQLConnection 인스턴스에 연결된 SQLStatement로 수행하는 명령문 실행 및 기타 작업 포함)은 이 메서드를 사용하여 데이터베이스를 열 때 비동기적으로 수행됩니다. 작업을 동기적으로 수행하려면 대신 open()
메서드를 사용하여 데이터베이스 연결을 엽니다.
데이터베이스가 연결되면 SQLStatement 인스턴스를 사용하여 SQL 명령을 실행합니다. 트랜잭션 시작 또는 종료, 스키마 정보 로드 등의 데이터베이스 수준 작업 및 기타 작업은 SQLConnection 인스턴스를 사용하여 수행됩니다.
openAsync()
메서드를 사용하여 연결하는 데이터베이스에는 "main"이라는 데이터베이스 이름이 자동으로 할당됩니다. 이 이름은 SQL 문에서 [database-name].[table-name]
형식을 사용하여 테이블 이름을 명시적으로 한정하는 데 사용할 수 있습니다.
매개 변수
reference:Object (default = null ) — 열 데이터베이스 파일의 위치입니다. 이 값은 flash.filesystem.File 인스턴스여야 합니다. 매개 변수 값이 null 이면 메모리 내 데이터베이스가 만들어져 열립니다.
| |
openMode:String (default = "create ") — 데이터베이스를 열 방법을 나타냅니다. 이 값은 SQLMode 클래스에 정의된 상수 중 하나가 될 수 있습니다. 기본값은 데이터베이스 파일이 지정한 위치에 없는 경우 새로 만든다는 것을 나타내는 SQLMode.CREATE 입니다. openMode 가 SQLMode.READ 이고 지정한 파일이 없는 경우 error 이벤트가 전달됩니다. reference 매개 변수가 null 이면 이 매개 변수는 무시됩니다.
| |
responder:Responder (default = null ) — 작업이 성공하거나 실패할 때 호출할 메서드를 지정하는 객체입니다. responder 인수가 null 인 경우 실행이 완료되면 open 또는 error 이벤트가 전달됩니다.
| |
autoCompact:Boolean (default = false ) — 데이터베이스에서 사용되지 않는 공간을 자동으로 회수할지 여부를 나타냅니다. 이 매개 변수는 새 데이터베이스 파일을 만들거나 테이블을 만들지 않은 데이터베이스 파일을 열 때만 사용할 수 있습니다. 기본적으로 제거된 데이터가 사용하던 공간은 데이터베이스 파일에 그대로 유지되며 필요할 때 다시 사용됩니다. 이 매개 변수를 true 로 지정하면 데이터베이스에서 사용하지 않는 공간을 자동으로 회수합니다. 이렇게 하면 데이터베이스에 데이터를 쓸 때마다 추가 처리가 필요하므로 성능에 나쁜 영향을 미칠 수 있고 시간이 경과함에 따라 데이터베이스 데이터가 조각화될 수도 있습니다. 언제든지 데이터베이스에서 데이터베이스 파일의 사용되지 않는 공간을 회수하도록 하고 데이터베이스 파일의 조각을 모으려면 compact() 메서드를 사용합니다.
| |
pageSize:int (default = 1024 ) — 데이터베이스의 페이지 크기(바이트)를 나타냅니다. 이 매개 변수는 새 데이터베이스 파일을 만들거나 테이블을 만들지 않은 데이터베이스 파일을 열 때만 사용할 수 있습니다. 이 값은 512보다 크거나 같고 32768보다 작거나 같은 값의 거듭제곱이어야 합니다. 기본값은 1024바이트입니다. 이 값은 테이블을 만들기 전에만 설정할 수 있습니다. 테이블을 만든 후 이 값을 변경하려고 하면 오류가 발생합니다.
| |
encryptionKey:ByteArray (default = null ) — 데이터베이스 파일에 대한 암호화 키입니다. openAsync() 호출로 데이터베이스를 만드는 경우 데이터베이스가 암호화되고 지정한 키가 데이터베이스에 대한 암호화 키로 사용됩니다. 호출에서 암호화된 데이터베이스를 여는 경우 값은 데이터베이스의 암호화 키와 일치해야 합니다. 그렇지 않으면 오류가 발생합니다. 열고 있는 데이터베이스가 암호화되지 않은 경우 값이 null (기본값)이어야 합니다. 그렇지 않으면 오류가 발생합니다.
유효한 암호화 키의 길이는 16바이트입니다. 메모리 내 데이터베이스는 암호화할 수 없기 때문에 이 매개 변수는 암호화된 데이터베이스를 열 때 제공된 암호화 키가 데이터베이스의 암호화 키와 일치하지 않으면 SQLErrorEvent가 전달됩니다. 이벤트 객체의 AIR 1.5부터 시작하여 |
이벤트
open: — 작업이 성공적으로 완료될 때 전달됩니다.
| |
error: — 작업이 실패할 때 전달됩니다. 작업이 실패한 후에는 연결이 열린 상태로 유지되지 않습니다.
|
오류
IllegalOperationError — SQLConnection 인스턴스에 데이터베이스에 대한 연결이 이미 열려 있는 경우(connected 속성이 true 인 경우)입니다.
| |
ArgumentError — reference 매개 변수에 지정한 값이 flash.filesystem.File 인스턴스가 아닌 경우
| |
ArgumentError — encryptionKey 인수가 null 이 아니고 해당 length 가 16바이트가 아닌 경우
| |
ArgumentError — reference 매개 변수가 null 이고 encryptionKey 인수가 null 이 아닌 경우
| |
ArgumentError — 잘못된 pageSize 매개 변수를 지정한 경우 여기에는 모드가 SQLMode.READ 일 때 페이지 크기를 전달하는 것도 포함됩니다.
|
관련 API 요소
reencrypt | () | 메서드 |
public function reencrypt(newEncryptionKey:ByteArray, responder:Responder = null):void
언어 버전: | ActionScript 3.0 |
런타임 버전: | AIR 1.5 |
암호화된 데이터베이스의 암호화 키를 변경합니다. 이 메서드는 기본 데이터베이스(open()
또는 openAsync()
메서드를 사용하여 연결된 데이터베이스)의 암호화 키에만 영향을 줍니다. 만들 때 암호화된 데이터베이스에 대해서만 reencrypt()
를 호출할 수 있습니다. 암호화된 데이터베이스로 만든 데이터베이스의 암호화는 해제할 수 없습니다. 마찬가지로 암호화 없이 만든 데이터베이스는 나중에 암호화할 수 없습니다.
다시 암호화 작업은 자체 트랜잭션에서 실행됩니다. 다시 암호화 프로세스가 중단된 경우 데이터베이스는 트랜잭션을 롤백하고 암호화 키는 변경되지 않습니다.
매개 변수
newEncryptionKey:ByteArray — 데이터베이스에 대한 새 암호화 키를 포함하는 ByteArray입니다. 유효한 암호화 키의 길이는 16바이트입니다.
| |
responder:Responder (default = null ) — 작업이 성공하거나 실패할 때 호출할 메서드를 지정하는 객체입니다. responder 인수가 null 인 경우 실행이 완료되면 reencrypt 또는 error 이벤트가 전달됩니다.
|
이벤트
reencrypt: — 작업이 성공적으로 완료될 때 전달됩니다.
| |
error: — 작업이 실패할 때 전달됩니다.
|
오류
ArgumentError — newEncryptionKey 값이 null 이거나 해당 length 가 16바이트가 아닌 경우
| |
IllegalOperationError — 연결이 열려 있지 않거나 열려 있는 트랜잭션이 있는 경우
| |
SQLError — 동기 실행 모드에서 작업이 실패하는 경우입니다.
|
관련 API 요소
releaseSavepoint | () | 메서드 |
public function releaseSavepoint(name:String = null, responder:Responder = null):void
언어 버전: | ActionScript 3.0 |
런타임 버전: | AIR 2 |
이 메서드는 최근 저장점 또는 이름이 지정된 경우 해당 이름을 갖는 저장점 이후 수행된 SQL 작업을 커밋합니다.
전체 트랜잭션이 커밋될 때까지는 어떠한 변경 사항도 데이터베이스에 영구적으로 저장되지 않습니다. begin()
메서드를 사용하여 트랜잭션을 시작한 경우 commit()
메서드를 호출하여 전체 트랜잭션을 커밋해야 합니다. inTransaction
이 false
일 때 setSavepoint()
를 호출하여 트랜잭션을 시작한 경우 트랜잭션의 첫 번째 저장점에 대해 commit()
메서드를 호출하거나 releaseSavepoint()
또는 rollbackToSavepoint()
를 호출하여 전체 트랜잭션을 종료할 수 있습니다.
코드가 rollback()
메서드를 호출할 경우 트랜잭션을 롤백하기 전에 releaseSavepoint()
를 호출했는지 여부에 관계없이 트랜잭션의 모든 변경 사항이 영구적으로 취소됩니다.
이 메서드를 매개 변수 없이(또는 name
매개 변수를 null
로 하여) 호출할 경우 이름이 지정되지 않은 최근 저장점(name
매개 변수 없이 setSavepoint()
를 호출하여 만든 최근 저장점) 이후의 모든 데이터베이스 변경 사항이 커밋됩니다. 예를 들어 setSavepoint()
메서드를 세 번 호출한 경우 세 개의 저장점이 설정됩니다. 이 시점에서 releaseSavepoint()
를 호출하면 세 번째(최신) 저장점 이후에 수행된 SQL 작업이 커밋됩니다.
name
매개 변수에 대한 값이 제공된 경우 이 메서드는 지정된 이름을 가진 저장점 이후에 수행된 모든 SQL 작업을 커밋합니다. 지정된 저장점보다 최근에 만들어진 다른 저장점이 있을 경우 해당 저장점 이후에 수행된 작업도 커밋됩니다.
저장점이 릴리스 또는 롤백되면 해당 저장점과 그보다 최근의 모든 저장점이 제거됩니다. releaseSavepoint()
또는 rollbackToSavepoint()
호출이 저장점을 제거한 후 코드가 추가 SQL 작업을 실행하면 해당 작업은 나머지 저장점 중 최근 저장점에 속합니다. 즉, 제거된 저장점 전 최근에 만들어진 저장점에 속합니다. 남은 저장점이 없을 경우 작업은 기본 트랜잭션에 속합니다.
매개 변수
name:String (default = null ) — 모든 SQL 작업이 커밋되어야 하는 저장점의 이름입니다. 값이 제공되지 않은 경우 또는 이 매개 변수가 null (기본값)인 경우 이름이 지정되지 않은 최근 저장점(name 값 없이 setSavepoint() 를 호출하여 만들어짐)이 사용됩니다. name 값은 빈 문자열("" )일 수 없습니다.
| |
responder:Responder (default = null ) — 작업이 성공 또는 실패할 때 호출해야 할 메서드를 지정하는 객체입니다. 비동기 실행 모드에서는 responder 인수가 null 이면 실행이 완료될 때 releaseSavepoint 또는 error 이벤트가 전달됩니다.
|
이벤트
releaseSavepoint: — 작업이 성공적으로 완료될 때 전달됩니다.
| |
error: — 비동기 실행 모드에서 작업이 실패하는 경우 전달됩니다.
|
오류
ArgumentError — name 매개 변수 값이 빈 문자열("" )인 경우입니다.
| |
IllegalOperationError — SQLConnection 인스턴스가 데이터베이스에 연결되어 있지 않을 때(connected 속성이 false 일 때) 메서드를 호출하는 경우 또는 현재 트랜잭션이 열려 있지 않은 경우(inTransaction 속성이 false 인 경우)입니다.
| |
SQLError — 동기 실행 모드에서 작업이 실패하는 경우입니다.
|
관련 API 요소
removeEventListener | () | 메서드 |
override public function removeEventListener(type:String, listener:Function, useCapture:Boolean = false):void
언어 버전: | ActionScript 3.0 |
런타임 버전: | AIR 1.0 |
EventDispatcher 객체에서 리스너를 제거합니다. EventDispatcher 객체와 함께 등록된 리스너 중 일치하는 것이 없다면 이 메서드를 호출해도 아무 영향이 없습니다.
매개 변수
type:String — 이벤트 유형입니다.
| |
listener:Function — 제거할 리스너 객체입니다.
| |
useCapture:Boolean (default = false ) —
리스너가 캡처 단계용으로 등록되었는지 아니면 대상 및 버블링 단계용으로 등록되었는지를 지정합니다. 리스너가 캡처 단계 및 대상/버블링 단계에 대해 모두 등록된 경우 두 리스너를 제거하려면 removeEventListener() 를 두 번 호출해야 합니다. 한 번은 useCapture() 를 true 로 설정하여 호출하고 한 번은 useCapture() 를 false 로 설정하여 호출합니다.
|
rollback | () | 메서드 |
public function rollback(responder:Responder = null):void
언어 버전: | ActionScript 3.0 |
런타임 버전: | AIR 1.0 |
begin()
메서드로 만든 기존 트랜잭션을 롤백합니다. 즉, 트랜잭션의 모든 SQL 문에서 변경한 내용이 모두 삭제됩니다.
중간 저장점은 setSavepoint()
메서드를 호출하여 트랜잭션 내에 표시할 수 있습니다. 저장점을 사용하면 releaseSavepoint()
메서드를 호출하여 트랜잭션 일부를 커밋할 수도 있고, rollbackToSavepoint()
를 호출하여 트랜잭션 일부를 롤백할 수도 있습니다. 그러나 rollback()
메서드를 호출하면 트랜잭션이 롤백되기 전에 개별 저장점이 릴리스(커밋)되었는지 여부에 관계없이 트랜잭션의 모든 변경 사항이 영구적으로 취소됩니다.
매개 변수
responder:Responder (default = null ) — 작업이 성공하거나 실패할 때 호출할 메서드를 지정하는 객체입니다. 비동기 실행 모드에서는 responder 인수가 null 인 경우 실행이 완료되면 rollback 또는 error 이벤트가 전달됩니다.
|
이벤트
rollback: — 작업이 성공적으로 완료될 때 전달됩니다.
| |
error: — 비동기 실행 모드에서 작업이 실패하는 경우 전달됩니다.
|
오류
IllegalOperationError — SQLConnection 인스턴스가 데이터베이스에 연결되어 있지 않을 때(connected 속성이 false 일 때) 메서드를 호출하는 경우 또는 현재 트랜잭션이 열려 있지 않은 경우(inTransaction 속성이 false 인 경우)입니다.
| |
SQLError — 동기 실행 모드에서 작업이 실패하는 경우입니다.
|
관련 API 요소
rollbackToSavepoint | () | 메서드 |
public function rollbackToSavepoint(name:String = null, responder:Responder = null):void
언어 버전: | ActionScript 3.0 |
런타임 버전: | AIR 2 |
최근 저장점 또는 이름이 지정된 경우 해당 이름을 갖는 저장점 이후의 모든 SQL 작업을 롤백합니다.
commit()
메서드를 호출하여 전체 트랜잭션이 커밋된 경우 rollbackToSavepoint()
메서드를 사용하여 아직 롤백되지 않은 모든 트랜잭션 변경 사항은 데이터베이스에 영구적으로 저장됩니다. 또한 rollback()
메서드를 호출하면 트랜잭션이 롤백되기 전에 개별 저장점이 릴리스(커밋) 또는 롤백되었는지 여부와 관계없이 모든 변경 사항이 취소됩니다.
이 메서드를 매개 변수 없이(또는 name
매개 변수를 null
로 하여) 호출할 경우 이름이 지정되지 않은 최근 저장점(name
매개 변수 값 없이 setSavepoint()
를 호출하여 만든 최근 저장점) 이후의 데이터베이스 변경 사항이 커밋됩니다.
name
매개 변수에 대한 값이 제공된 경우 이 메서드는 지정된 이름을 가진 저장점 이후에 수행된 모든 SQL 작업을 롤백합니다. 지정된 저장점보다 최근에 만들어진 다른 저장점이 있을 경우 해당 저장점 이후에 수행된 작업도 롤백됩니다.
저장점이 릴리스 또는 롤백되면 해당 저장점과 그보다 최근의 모든 저장점이 제거됩니다. releaseSavepoint()
또는 rollbackToSavepoint()
호출이 저장점을 제거한 후 코드가 추가 SQL 작업을 실행하면 해당 작업은 나머지 저장점 중 최근 저장점에 속합니다. 즉, 제거된 저장점 전 최근에 만들어진 저장점에 속합니다. 남은 저장점이 없을 경우 작업은 기본 트랜잭션에 속합니다.
매개 변수
name:String (default = null ) — 데이터베이스 상태가 롤백되어야 하는 저장점의 이름입니다. 값이 제공되지 않은 경우 또는 이 매개 변수가 null (기본값)인 경우 이름이 지정되지 않은 최근 저장점(name 값 없이 setSavepoint() 를 호출하여 만들어짐)이 사용됩니다. name 값은 빈 문자열("" )일 수 없습니다.
| |
responder:Responder (default = null ) — 작업이 성공 또는 실패할 때 호출해야 할 메서드를 지정하는 객체입니다. 비동기 실행 모드에서는 responder 인수가 null 이면 실행이 완료될 때 rollbackToSavepoint 또는 error 이벤트가 전달됩니다.
|
이벤트
rollbackToSavepoint: — 작업이 성공적으로 완료될 때 전달됩니다.
| |
error: — 비동기 실행 모드에서 작업이 실패하는 경우 전달됩니다.
|
오류
ArgumentError — name 매개 변수 값이 빈 문자열("" )인 경우입니다.
| |
IllegalOperationError — SQLConnection 인스턴스가 데이터베이스에 연결되어 있지 않을 때(connected 속성이 false 일 때) 메서드를 호출하는 경우 또는 현재 트랜잭션이 열려 있지 않은 경우(inTransaction 속성이 false 인 경우)입니다.
| |
SQLError — 동기 실행 모드에서 작업이 실패하는 경우입니다.
|
관련 API 요소
setSavepoint | () | 메서드 |
public function setSavepoint(name:String = null, responder:Responder = null):void
언어 버전: | ActionScript 3.0 |
런타임 버전: | AIR 2 |
데이터베이스 트랜잭션 내의 북마크 같은 저장점을 만듭니다. 저장점은 트랜잭션 내의 한 지점을 나타냅니다. 저장점 사이에 수행된 SQL 작업은 releaseSavepoint()
및 rollbackToSavepoint()
메서드를 사용하여 다른 작업과 별도로 커밋 또는 롤백할 수 있습니다. 이런 방식으로 저장점을 사용하여 일련의 SQL 작업을 중첩 트랜잭션으로 처리할 수 있습니다.
setSavepoint()
메서드를 호출할 때 begin()
메서드를 호출하여 트랜잭션을 아직 열지 않은 경우 이 메서드를 호출하면 트랜잭션이 시작되고 트랜잭션 시작 위치에 저장점이 만들어집니다. 트랜잭션이 이미 열려 있는 경우 setSavepoint()
를 호출하면 트랜잭션 내에 저장점이 만들어집니다.
전체 트랜잭션이 커밋될 때까지는 어떠한 변경 사항도 데이터베이스에 영구적으로 저장되지 않습니다. begin()
메서드를 사용하여 트랜잭션을 시작한 경우 commit()
메서드를 호출하여 전체 트랜잭션을 커밋해야 합니다. inTransaction
이 false
일 때 setSavepoint()
를 호출하여 트랜잭션을 시작한 경우 commit()
메서드를 호출하여 전체 트랜잭션을 완료할 수 있습니다. 또한 트랜잭션을 시작한 저장점에 대해 releaseSavepoint()
또는 rollbackToSavepoint()
를 호출하면 트랜잭션이 자동으로 완료됩니다.
name
매개 변수에 대한 값을 제공하여 저장점에 이름을 지정할 수 있습니다. 이를 통해 특정 저장점 이후의 모든 변경 사항을 롤백 또는 커밋할 수 있습니다. 이름을 지정하지 않으면(기본값) 이름이 지정되지 않은 저장점이 만들어집니다.
저장점이 릴리스 또는 롤백되면 해당 저장점과 그보다 최근의 모든 저장점이 제거됩니다. releaseSavepoint()
또는 rollbackToSavepoint()
호출이 저장점을 제거한 후 코드가 추가 SQL 작업을 실행하면 해당 작업은 나머지 저장점 중 최근 저장점에 속합니다. 즉, 제거된 저장점 전 최근에 만들어진 저장점에 속합니다. 남은 저장점이 없을 경우 작업은 기본 트랜잭션에 속합니다.
매개 변수
name:String (default = null ) — 저장점의 이름입니다. 값이 제공되지 않은 경우 또는 이 매개 변수가 null (기본값)인 경우, 다음에 name 매개 변수를 지정하지 않은 상태에서 releaseSavepoint() 또는 rollbackToSavepoint() 를 호출하면 이름이 지정되지 않은 저장점 이후에 수행된 SQL 작업이 커밋 또는 롤백됩니다.
제공한 이름이 이름이 지정된 이전 저장점과 중복될 경우, 다음에 | |
responder:Responder (default = null ) — 작업이 성공 또는 실패할 때 호출해야 할 메서드를 지정하는 객체입니다. 비동기 실행 모드에서는 responder 인수가 null 이면 실행이 완료될 때 setSavepoint 또는 error 이벤트가 전달됩니다.
|
이벤트
setSavepoint: — 작업이 성공적으로 완료될 때 전달됩니다.
| |
error: — 비동기 실행 모드에서 작업이 실패하는 경우 전달됩니다.
|
오류
ArgumentError — name 매개 변수 값이 빈 문자열("" )인 경우입니다.
| |
IllegalOperationError — SQLConnection 인스턴스가 데이터베이스에 연결되어 있지 않을 때(connected 속성이 false 일 때) 이 메서드를 호출하는 경우입니다.
| |
SQLError — 동기 실행 모드에서 작업이 실패하는 경우입니다.
|
관련 API 요소
analyze | 이벤트 |
flash.events.SQLEvent
속성 SQLEvent.type =
flash.events.SQLEvent.ANALYZE
언어 버전: | ActionScript 3.0 |
런타임 버전: | AIR 1.0 |
analyze()
메서드 호출 작업이 성공적으로 완료될 때 전달됩니다.
SQLEvent.ANALYZE
상수는 analyze
이벤트 객체의 type
속성 값을 정의합니다. SQLConnection.analyze()
메서드 호출이 성공적으로 완료될 때 이 유형의 이벤트가 전달됩니다. analyze
이벤트에는 다음과 같은 속성이 있습니다.
속성 | 값 |
---|---|
bubbles | false |
cancelable | false . 취소할 기본 비헤이비어가 없습니다. |
currentTarget | 이벤트 리스너를 통해 Event 객체를 처리하고 있는 객체입니다. |
target | 작업을 수행한 SQLConnection 객체입니다. |
관련 API 요소
attach | 이벤트 |
flash.events.SQLEvent
속성 SQLEvent.type =
flash.events.SQLEvent.ATTACH
언어 버전: | ActionScript 3.0 |
런타임 버전: | AIR 1.0 |
attach()
메서드 호출 작업이 성공적으로 완료될 때 전달됩니다.
SQLEvent.ATTACH
상수는 attach
이벤트 객체의 type
속성 값을 정의합니다. SQLConnection.attach()
메서드 호출이 성공적으로 완료될 때 이 유형의 이벤트가 전달됩니다. attach
이벤트에는 다음과 같은 속성이 있습니다.
속성 | 값 |
---|---|
bubbles | false |
cancelable | false . 취소할 기본 비헤이비어가 없습니다. |
currentTarget | 이벤트 리스너를 통해 Event 객체를 처리하고 있는 객체입니다. |
target | 작업을 수행한 SQLConnection 객체입니다. |
관련 API 요소
begin | 이벤트 |
flash.events.SQLEvent
속성 SQLEvent.type =
flash.events.SQLEvent.BEGIN
언어 버전: | ActionScript 3.0 |
런타임 버전: | AIR 1.0 |
begin()
메서드 호출 작업이 성공적으로 완료될 때 전달됩니다.
SQLEvent.BEGIN
상수는 begin
이벤트 객체의 type
속성 값을 정의합니다. SQLConnection.begin()
메서드 호출이 성공적으로 완료될 때 이 유형의 이벤트가 전달됩니다. begin
이벤트에는 다음과 같은 속성이 있습니다.
속성 | 값 |
---|---|
bubbles | false |
cancelable | false . 취소할 기본 비헤이비어가 없습니다. |
currentTarget | 이벤트 리스너를 통해 Event 객체를 처리하고 있는 객체입니다. |
target | 작업을 수행한 SQLConnection 객체입니다. |
관련 API 요소
cancel | 이벤트 |
flash.events.SQLEvent
속성 SQLEvent.type =
flash.events.SQLEvent.CANCEL
언어 버전: | ActionScript 3.0 |
런타임 버전: | AIR 1.0 |
cancel()
메서드 호출 작업이 성공적으로 완료될 때 전달됩니다.
SQLEvent.CANCEL
상수는 cancel
이벤트 객체의 type
속성 값을 정의합니다. SQLConnection.cancel()
메서드 호출이 성공적으로 완료될 때 이 유형의 이벤트가 전달됩니다. cancel
이벤트에는 다음과 같은 속성이 있습니다.
속성 | 값 |
---|---|
bubbles | false |
cancelable | false . 취소할 기본 비헤이비어가 없습니다. |
currentTarget | 이벤트 리스너를 통해 Event 객체를 처리하고 있는 객체입니다. |
target | 작업을 수행한 SQLConnection 또는 SQLStatement 객체입니다. |
관련 API 요소
close | 이벤트 |
flash.events.SQLEvent
속성 SQLEvent.type =
flash.events.SQLEvent.CLOSE
언어 버전: | ActionScript 3.0 |
런타임 버전: | AIR 1.0 |
close()
메서드 호출 작업이 성공적으로 완료될 때 전달됩니다.
SQLEvent.CLOSE
상수는 close
이벤트 객체의 type
속성 값을 정의합니다. SQLConnection.close()
메서드 호출이 성공적으로 완료될 때 이 유형의 이벤트가 전달됩니다. close
이벤트에는 다음과 같은 속성이 있습니다.
속성 | 값 |
---|---|
bubbles | false |
cancelable | false . 취소할 기본 비헤이비어가 없습니다. |
currentTarget | 이벤트 리스너를 통해 Event 객체를 처리하고 있는 객체입니다. |
target | 작업을 수행한 SQLConnection 객체입니다. |
관련 API 요소
commit | 이벤트 |
flash.events.SQLEvent
속성 SQLEvent.type =
flash.events.SQLEvent.COMMIT
언어 버전: | ActionScript 3.0 |
런타임 버전: | AIR 1.0 |
commit()
메서드 호출 작업이 성공적으로 완료될 때 전달됩니다.
SQLEvent.COMMIT
상수는 commit
이벤트 객체의 type
속성 값을 정의합니다. SQLConnection.commit()
메서드 호출이 성공적으로 완료될 때 이 유형의 이벤트가 전달됩니다. commit
이벤트에는 다음과 같은 속성이 있습니다.
속성 | 값 |
---|---|
bubbles | false |
cancelable | false . 취소할 기본 비헤이비어가 없습니다. |
currentTarget | 이벤트 리스너를 통해 Event 객체를 처리하고 있는 객체입니다. |
target | 작업을 수행한 SQLConnection 객체입니다. |
관련 API 요소
compact | 이벤트 |
flash.events.SQLEvent
속성 SQLEvent.type =
flash.events.SQLEvent.COMPACT
언어 버전: | ActionScript 3.0 |
런타임 버전: | AIR 1.0 |
compact()
메서드 호출 작업이 성공적으로 완료될 때 전달됩니다.
SQLEvent.COMPACT
상수는 compact
이벤트 객체의 type
속성 값을 정의합니다. SQLConnection.compact()
메서드 호출이 성공적으로 완료될 때 이 유형의 이벤트가 전달됩니다. compact
이벤트에는 다음과 같은 속성이 있습니다.
속성 | 값 |
---|---|
bubbles | false |
cancelable | false . 취소할 기본 비헤이비어가 없습니다. |
currentTarget | 이벤트 리스너를 통해 Event 객체를 처리하고 있는 객체입니다. |
target | 작업을 수행한 SQLConnection 객체입니다. |
관련 API 요소
deanalyze | 이벤트 |
flash.events.SQLEvent
속성 SQLEvent.type =
flash.events.SQLEvent.DEANALYZE
언어 버전: | ActionScript 3.0 |
런타임 버전: | AIR 1.0 |
deanalyze()
메서드 호출 작업이 성공적으로 완료될 때 전달됩니다.
SQLEvent.DEANALYZE
상수는 deanalyze
이벤트 객체의 type
속성 값을 정의합니다. SQLConnection.deanalyze()
메서드 호출이 성공적으로 완료될 때 이 유형의 이벤트가 전달됩니다. deanalyze
이벤트에는 다음과 같은 속성이 있습니다.
속성 | 값 |
---|---|
bubbles | false |
cancelable | false . 취소할 기본 비헤이비어가 없습니다. |
currentTarget | 이벤트 리스너를 통해 Event 객체를 처리하고 있는 객체입니다. |
target | 작업을 수행한 SQLConnection 객체입니다. |
관련 API 요소
delete | 이벤트 |
flash.events.SQLUpdateEvent
속성 SQLUpdateEvent.type =
flash.events.SQLUpdateEvent.DELETE
언어 버전: | ActionScript 3.0 |
런타임 버전: | AIR 1.0 |
연결된 데이터베이스에 있는 테이블의 데이터가 SQL DELETE
명령의 결과로 변경될 때 전달됩니다. 데이터 변경은 SQLStatement 인스턴스를 통해 실행된 DELETE
문의 직접적인 결과이거나 명령문 실행에 응답하여 발생하는 트리거로 인한 간접적인 결과일 수 있습니다.
SQLUpdateEvent.DELETE
상수는 SQLConnection delete
이벤트의 type
속성 값을 정의합니다. delete
이벤트에는 다음과 같은 속성이 있습니다.
속성 | 값 |
---|---|
bubbles | false |
cancelable | false . 취소할 기본 비헤이비어가 없습니다. |
currentTarget | 이벤트 리스너를 통해 Event 객체를 처리하고 있는 객체입니다. |
rowID | 삽입, 삭제 또는 업데이트된 행의 고유한 행 식별자입니다. |
target | 작업이 수행된 SQLConnection 객체입니다. |
table | 변경이 발생한 테이블의 이름입니다. |
관련 API 요소
detach | 이벤트 |
flash.events.SQLEvent
속성 SQLEvent.type =
flash.events.SQLEvent.DETACH
언어 버전: | ActionScript 3.0 |
런타임 버전: | AIR 1.0 |
detach()
메서드 호출 작업이 성공적으로 완료될 때 전달됩니다.
SQLEvent.DETACH
상수는 detach
이벤트 객체의 type
속성 값을 정의합니다. SQLConnection.detach()
메서드 호출이 성공적으로 완료될 때 이 유형의 이벤트가 전달됩니다.
속성 | 값 |
---|---|
bubbles | false |
cancelable | false . 취소할 기본 비헤이비어가 없습니다. |
currentTarget | 이벤트 리스너를 통해 Event 객체를 처리하고 있는 객체입니다. |
target | 작업을 수행한 SQLConnection 객체입니다. |
관련 API 요소
error | 이벤트 |
flash.events.SQLErrorEvent
속성 SQLErrorEvent.type =
flash.events.SQLErrorEvent.ERROR
언어 버전: | ActionScript 3.0 |
런타임 버전: | AIR 1.0 |
SQLConnection 객체의 비동기 작업에서 오류가 발생할 때 전달됩니다. 이벤트 객체로 전달되는 SQLErrorEvent 인스턴스에는 시도한 작업과 실패의 원인에 대한 정보를 포함하는 error
속성이 있습니다.
SQLErrorEvent.ERROR
상수는 SQLConnection 또는 SQLStatement 인스턴스의 메서드 호출이 완료되었지만 오류가 발생할 때 전달되는 error 이벤트의 type
속성 값을 정의합니다. error
이벤트에는 다음과 같은 속성이 있습니다.
속성 | 값 |
---|---|
bubbles | false |
cancelable | false . 취소할 기본 비헤이비어가 없습니다. |
error | 발생한 오류 유형 및 오류를 발생시킨 작업에 대한 정보가 포함된 SQLError 객체입니다. |
currentTarget | 이벤트 리스너를 통해 Event 객체를 처리하고 있는 객체입니다. |
target | 오류를 보고하는 SQLConnection 또는 SQLStatement 객체입니다. |
insert | 이벤트 |
flash.events.SQLUpdateEvent
속성 SQLUpdateEvent.type =
flash.events.SQLUpdateEvent.INSERT
언어 버전: | ActionScript 3.0 |
런타임 버전: | AIR 1.0 |
연결된 데이터베이스에 있는 테이블의 데이터가 SQL INSERT
명령의 결과로 변경될 때 전달됩니다. 데이터 변경은 SQLStatement 인스턴스를 통해 실행된 INSERT
문의 직접적인 결과이거나 명령문 실행에 응답하여 발생하는 트리거로 인한 간접적인 결과일 수 있습니다.
SQLUpdateEvent.INSERT
상수는 SQLConnection insert
이벤트의 type
속성 값을 정의합니다. insert
이벤트에는 다음과 같은 속성이 있습니다.
속성 | 값 |
---|---|
bubbles | false |
cancelable | false . 취소할 기본 비헤이비어가 없습니다. |
currentTarget | 이벤트 리스너를 통해 Event 객체를 처리하고 있는 객체입니다. |
rowID | 삽입, 삭제 또는 업데이트된 행의 고유한 행 식별자입니다. |
target | 작업이 수행된 SQLConnection 객체입니다. |
table | 변경이 발생한 테이블의 이름입니다. |
관련 API 요소
open | 이벤트 |
flash.events.SQLEvent
속성 SQLEvent.type =
flash.events.SQLEvent.OPEN
언어 버전: | ActionScript 3.0 |
런타임 버전: | AIR 1.0 |
openAsync()
메서드 호출 작업이 성공적으로 완료될 때 전달됩니다.
SQLEvent.OPEN
상수는 open
이벤트 객체의 type
속성 값을 정의합니다. SQLConnection.open()
또는 SQLConnection.openAsync()
메서드 호출이 성공적으로 완료될 때 이 유형의 이벤트가 전달됩니다. open
이벤트에는 다음과 같은 속성이 있습니다.
속성 | 값 |
---|---|
bubbles | false |
cancelable | false . 취소할 기본 비헤이비어가 없습니다. |
currentTarget | 이벤트 리스너를 통해 Event 객체를 처리하고 있는 객체입니다. |
target | 작업을 수행한 SQLConnection 객체입니다. |
관련 API 요소
reencrypt | 이벤트 |
flash.events.SQLEvent
속성 SQLEvent.type =
flash.events.SQLEvent.REENCRYPT
언어 버전: | ActionScript 3.0 |
런타임 버전: | AIR 1.5 |
reencrypt()
메서드 호출 작업이 성공적으로 완료될 때 전달됩니다.
SQLEvent.REENCRYPT
상수는 reencrypt
이벤트 객체의 type
속성 값을 정의합니다. SQLConnection.reencrypt()
메서드 호출이 성공적으로 완료될 때 이 유형의 이벤트가 전달됩니다. reencrypt
이벤트에는 다음과 같은 속성이 있습니다.
속성 | 값 |
---|---|
bubbles | false |
cancelable | false . 취소할 기본 비헤이비어가 없습니다. |
currentTarget | 이벤트 리스너를 통해 Event 객체를 처리하고 있는 객체입니다. |
target | 작업을 수행한 SQLConnection 객체입니다. |
관련 API 요소
releaseSavepoint | 이벤트 |
flash.events.SQLEvent
속성 SQLEvent.type =
flash.events.SQLEvent.RELEASE_SAVEPOINT
언어 버전: | ActionScript 3.0 |
런타임 버전: | AIR 2 |
releaseSavepoint()
메서드 호출 작업이 성공적으로 완료될 때 전달됩니다.
SQLEvent.RELEASE_SAVEPOINT
상수는 releaseSavepoint
이벤트 객체의 type
속성 값을 정의합니다. SQLConnection.releaseSavepoint()
메서드 호출이 성공적으로 완료될 때 이 유형의 이벤트가 전달됩니다. releaseSavepoint
이벤트는 다음과 같은 속성을 가집니다.
속성 | 값 |
---|---|
bubbles | false |
cancelable | false . 취소할 기본 비헤이비어가 없습니다. |
currentTarget | 이벤트 리스너를 통해 Event 객체를 처리하고 있는 객체입니다. |
target | 작업을 수행한 SQLConnection 객체입니다. |
관련 API 요소
rollback | 이벤트 |
flash.events.SQLEvent
속성 SQLEvent.type =
flash.events.SQLEvent.ROLLBACK
언어 버전: | ActionScript 3.0 |
런타임 버전: | AIR 1.0 |
rollback()
메서드 호출 작업이 성공적으로 완료될 때 전달됩니다.
SQLEvent.ROLLBACK
상수는 rollback
이벤트 객체의 type
속성 값을 정의합니다. SQLConnection.rollback()
메서드 호출이 성공적으로 완료될 때 이 유형의 이벤트가 전달됩니다. rollback
이벤트에는 다음과 같은 속성이 있습니다.
속성 | 값 |
---|---|
bubbles | false |
cancelable | false . 취소할 기본 비헤이비어가 없습니다. |
currentTarget | 이벤트 리스너를 통해 Event 객체를 처리하고 있는 객체입니다. |
target | 작업을 수행한 SQLConnection 객체입니다. |
관련 API 요소
rollbackToSavepoint | 이벤트 |
flash.events.SQLEvent
속성 SQLEvent.type =
flash.events.SQLEvent.ROLLBACK_TO_SAVEPOINT
언어 버전: | ActionScript 3.0 |
런타임 버전: | AIR 2 |
rollbackToSavepoint()
메서드 호출 작업이 성공적으로 완료될 때 전달됩니다.
SQLEvent.ROLLBACK_TO_SAVEPOINT
상수는 rollbackToSavepoint
이벤트 객체의 type
속성 값을 정의합니다. SQLConnection.rollbackToSavepoint()
메서드 호출이 성공적으로 완료될 때 이 유형의 이벤트가 전달됩니다. rollbackToSavepoint
이벤트는 다음과 같은 속성을 가집니다.
속성 | 값 |
---|---|
bubbles | false |
cancelable | false . 취소할 기본 비헤이비어가 없습니다. |
currentTarget | 이벤트 리스너를 통해 Event 객체를 처리하고 있는 객체입니다. |
target | 작업을 수행한 SQLConnection 객체입니다. |
관련 API 요소
schema | 이벤트 |
flash.events.SQLEvent
속성 SQLEvent.type =
flash.events.SQLEvent.SCHEMA
언어 버전: | ActionScript 3.0 |
런타임 버전: | AIR 1.0 |
loadSchema()
메서드 호출 작업이 성공적으로 완료되고 스키마 결과가 준비될 때 전달됩니다.
SQLEvent.SCHEMA
상수는 schema
이벤트 객체의 type
속성 값을 정의합니다. SQLConnection.loadSchema()
메서드가 성공적으로 완료될 때 전달됩니다. SQLEvent.SCHEMA
이벤트가 전달되면 SQLConnection.getSchemaResult()
메서드를 사용하여 스키마 정보를 얻을 수 있습니다. schema
이벤트에는 다음과 같은 속성이 있습니다.
속성 | 값 |
---|---|
bubbles | false |
cancelable | false . 취소할 기본 비헤이비어가 없습니다. |
currentTarget | 이벤트 리스너를 통해 Event 객체를 처리하고 있는 객체입니다. |
target | 작업을 수행한 SQLConnection 객체입니다. |
관련 API 요소
setSavepoint | 이벤트 |
flash.events.SQLEvent
속성 SQLEvent.type =
flash.events.SQLEvent.SET_SAVEPOINT
언어 버전: | ActionScript 3.0 |
런타임 버전: | AIR 2 |
setSavepoint()
메서드 호출 작업이 성공적으로 완료될 때 전달됩니다.
SQLEvent.SET_SAVEPOINT
상수는 setSavepoint
이벤트 객체의 type
속성 값을 정의합니다. SQLConnection.setSavepoint()
메서드 호출이 성공적으로 완료될 때 이 유형의 이벤트가 전달됩니다. setSavepoint
이벤트는 다음과 같은 속성을 가집니다.
속성 | 값 |
---|---|
bubbles | false |
cancelable | false . 취소할 기본 비헤이비어가 없습니다. |
currentTarget | 이벤트 리스너를 통해 Event 객체를 처리하고 있는 객체입니다. |
target | 작업을 수행한 SQLConnection 객체입니다. |
관련 API 요소
update | 이벤트 |
flash.events.SQLUpdateEvent
속성 SQLUpdateEvent.type =
flash.events.SQLUpdateEvent.UPDATE
언어 버전: | ActionScript 3.0 |
런타임 버전: | AIR 1.0 |
연결된 데이터베이스에 있는 테이블의 데이터가 SQL UPDATE
명령의 결과로 변경될 때 전달됩니다. 데이터 변경은 SQLStatement 인스턴스를 통해 실행된 UPDATE
문의 직접적인 결과이거나 명령문 실행에 응답하여 발생하는 트리거로 인한 간접적인 결과일 수 있습니다.
SQLUpdateEvent.UPDATE
상수는 SQLConnection update
이벤트의 type
속성 값을 정의합니다.
update
이벤트에는 다음과 같은 속성이 있습니다.
속성 | 값 |
---|---|
bubbles | false |
cancelable | false . 취소할 기본 비헤이비어가 없습니다. |
currentTarget | 이벤트 리스너를 통해 Event 객체를 처리하고 있는 객체입니다. |
rowID | 삽입, 삭제 또는 업데이트된 행의 고유한 행 식별자입니다. |
target | 작업이 수행된 SQLConnection 객체입니다. |
table | 변경이 발생한 테이블의 이름입니다. |
관련 API 요소
Tue Jun 12 2018, 03:17 PM Z