SQLite 데이터베이스 만들기
DatabaseFactory 클래스의 create 또는 openOrCreate 메소드를 사용하여 SQLite 데이터베이스를 만들 수 있습니다.
기본적으로 데이터베이스 파일은 미디어 카드에 저장됩니다. BlackBerry Smartphone Simulator를 사용하는 경우, 미디어 카드를 시뮬레이션해야 할 수도 있습니다.
데이터베이스를 만든 다음 데이터베이스 파일이 만들어졌는지 확인합니다. 이를 위해 다음 방법 중 하나를 사용할 수 있습니다.
- 데이터베이스 뷰어에서 데이터베이스를 확인합니다.
- 파일 시스템에서 데이터베이스 파일을 찾아 크기가 0이 아닌지 확인합니다.
- DatabaseFactory.exists 메소드를 호출합니다.
다음 샘플 코드는 미디어 카드의 루트에서 SQLite 데이터베이스를 만듭니다.
import net.rim.device.api.system.Application;
import net.rim.device.api.database.*;
import net.rim.device.api.io.*;
public class CreateDatabase extends Application
{
public static void main(String[] args)
{
CreateDatabase app = new CreateDatabase();
Database db = null;
try
{
URI strURI = URI.create("file:///SDCard/test.db");
db = DatabaseFactory.create(strURI);
}
catch (Exception e)
{
System.out.println( e.getMessage() );
} finally {
try {
db.close();
}
catch (DatabaseException e) {
}
}
}
다음 샘플 코드는 테이블에 데이터베이스를 추가합니다.
import net.rim.device.api.database.Database;
import net.rim.device.api.database.DatabaseFactory;
import net.rim.device.api.database.Statement;
import net.rim.device.api.io.URI;
import net.rim.device.api.system.Application;
public class AddDatabaseTable extends Application
{
public static void main(String[] args)
{
AddDatabaseTable app = new AddDatabaseTable();
try {
Database d = null;
Statement st = null;
try {
URI myURI = URI.create("file:///SDCard/test.db");
d = DatabaseFactory.open(myURI);
st = d.createStatement( "CREATE TABLE People ( " +
"Name TEXT, " +
"Age INTEGER )" );
st.prepare();
st.execute();
}
catch ( Exception e )
{
System.out.println( e.getMessage() );
}
finally
{
st.close();
d.close();
}
} catch (Exception e) {
System.out.println( e.getMessage() );
}
}
}
코드 샘플: SQLite 데이터베이스에 스키마 추가
import net.rim.device.api.ui.*;
import net.rim.device.api.ui.component.*;
import net.rim.device.api.ui.container.*;
import net.rim.device.api.database.*;
import net.rim.device.api.io.*;
public class CreateDatabaseSchema extends UiApplication
{
public static void main(String[] args)
{
CreateDatabaseSchema theApp = new CreateDatabaseSchema();
theApp.enterEventDispatcher();
}
public CreateDatabaseSchema()
{
pushScreen(new CreateDatabaseSchemaScreen());
}
}
class CreateDatabaseSchemaScreen extends MainScreen
{
Database d;
public CreateDatabaseSchemaScreen()
{
LabelField title = new LabelField("SQLite Create " +
"Database Schema Sample",
LabelField.ELLIPSIS |
LabelField.USE_ALL_WIDTH);
setTitle(title);
add(new RichTextField("Adding a table to a database called " +
"MyTestDatabase.db on the SDCard."));
try
{
URI myURI = URI.create("file:///SDCard/Databases/SQLite_Guide/" +
"MyTestDatabase.db");
d = DatabaseFactory.openOrCreate(myURI);
Statement st = d.createStatement( "CREATE TABLE People ( " +
"Name TEXT, " +
"Age INTEGER )" );
st.prepare();
st.execute();
st.close();
d.close();
}
catch ( Exception e )
{
System.out.println( e.getMessage() );
e.printStackTrace();
}
}
}
다음 주제: 테이블 만들기 및 삭제
이전 주제: 언어 데이터 정렬 사용