'SELECT * FROM'에 해당되는 글 1건

  1. 2009.02.15 Local DB 데이터 불러오기
AIR/local SQL활용2009. 2. 15. 12:32

데이터베이스와 테이블 및 데이터 레코드가 정상적으로 있다면  SQLMode.READ를 통하여 DB에 접근하고 "SELECT 변수명 FROM 테이블명"을 통하여 데이터를 가져올 수 있다.

내문서에 B1TestDB로 접근하여 bookstore에 있는 모든 내용을 가져오는 코드
var file:File = File.documentsDirectory.resolvePath("B1TestDB.db");
var connection:SQLConnection = new SQLConnection();
var statement:SQLStatement = new SQLStatement();

connection.openAsync( file , SQLMode.READ );
connection.addEventListener( SQLEvent.OPEN  , onOpen );
statement.addEventListener(SQLEvent.RESULT , onPrint );

function onOpen( e:SQLEvent ):void
{
statement.text = "SELECT * FROM bookstore";
statement.execute();
}

function onPrint( e:SQLEvent ):void
{
//prt라는 텍스트필드에 출력
prt.text = "";
var result:SQLResult = statement.getResult();
for( var i:int=0; i<result.data.length; i++ ){
for( var str:String in result.data[i] ){
prt.text += str +" : "+ result.data[i][str] + "   ";
}
prt.text += "\n";
}
connection.close();
}

이 외에도 테이블 삭제나 기존 DB의 업데이트 등 몇 가지 기능들이 더 있으므로 아래링크를 참고하여 SQL문을 테스트하면 된다. 방법은 항상 접근-열기-편집-닫기와 같다.

커넥션은 한번에 한개씩만 사용가능하므로 여러개의 DB와 연동하기 위해서는 attach()를 사용하는 것이 바람직하다. 이는 SQLConnection은 많은 연산이 필요하므로 보통 한 개를 만들어 사용하기 때문이다.또한 DB작업시에는 begin()rollback(), commit()등의 트랜젝션을 사용하는 것이 바람직하다.

참고) SQL명령문
Posted by 버터백통