개별 SQL 문(쿼리 또는 명령)은 런타임에서
SQLStatement
객체로 표현됩니다. SQL 문을 만들고 실행하려면 다음 단계를 수행하십시오.
SQLStatement 인스턴스를 만듭니다.
SQLStatement 객체는 응용 프로그램에서 SQL 문을 나타냅니다.
var selectData:SQLStatement = new SQLStatement();
실제 SQL 문을 지정합니다.
문 텍스트를 String으로 만들어 SQLStatement 인스턴스의
text
속성에 할당합니다.
selectData.text = "SELECT col1, col2 FROM my_table WHERE col1 = :param1";
실행 작업의 결과를 처리하는 함수를 정의합니다(비동기 실행 모드에만 해당).
addEventListener()
메서드를 사용하여 SQLStatement 인스턴스의
result
및
error
이벤트에 대한 리스너로 함수를 등록합니다.
// using listener methods and addEventListener()
selectData.addEventListener(SQLEvent.RESULT, resultHandler);
selectData.addEventListener(SQLErrorEvent.ERROR, errorHandler);
function resultHandler(event:SQLEvent):void
{
// do something after the statement execution succeeds
}
function errorHandler(event:SQLErrorEvent):void
{
// do something after the statement execution fails
}
또는
Responder
객체를 사용하여 리스너 메서드를 지정할 수 있습니다. 이 경우 Responder 인스턴스를 만들고 리스너 메서드를 이 인스턴스에 연결합니다.
// using a Responder (flash.net.Responder)
var selectResponder = new Responder(onResult, onError);
function onResult(result:SQLResult):void
{
// do something after the statement execution succeeds
}
function onError(error:SQLError):void
{
// do something after the statement execution fails
}
문 텍스트에 매개 변수 정의가 포함되어 있으면 해당 매개 변수의 값을 할당합니다.
매개 변수 값을 할당하려면 SQLStatement 인스턴스의
parameters
연관 배열 속성을 사용합니다.
selectData.parameters[":param1"] = 25;
SQL 문을 실행합니다.
SQLStatement 인스턴스의
execute()
메서드를 호출합니다.
// using synchronous execution mode
// or listener methods in asynchronous execution mode
selectData.execute();
비동기 실행 모드에서 이벤트 리스너 대신 Responder를 사용하는 경우에는 Responder 인스턴스를
execute()
메서드에 전달합니다.
// using a Responder in asynchronous execution mode
selectData.execute(-1, selectResponder);
이러한 단계를 보여 주는 특정 예제는 다음 항목을 참조하십시오.
데이터베이스에서 데이터 검색
데이터 삽입
데이터 변경 또는 삭제