android

2014-09-15

5DMK2]발자국 2014. 9. 15. 11:16

public class MyDatabase extends ListActivity {

    /** Called when the activity is first created. */

private SQLiteOpenHelper mOpenHelper;

private static final String MY_DATABASE_NAME = "sample.db";            // 확장자는 꼭 db

private static final String MY_DATABASE_TABLE = "sample_table";

    private static final int MY_DATABASE_VERSION = 5;

 

    private static class DatabaseHelper extends SQLiteOpenHelper {


        public DatabaseHelper(Context context) {

            super(context(고정값), MY_DATABASE_NAME, null(고정값), MY_DATABASE_VERSION);

        }

        


public void onCreate(SQLiteDatabase db) {

            db.execSQL("CREATE TABLE " + MY_DATABASE_TABLE + "(" +

                       "_id INTEGER PRIMARY KEY," +        //_id = 시퀀스와 동일(필수)

                       "name VARCHAR, " +                        //varchar text

                       "nickname VARCHAR, " +

                       "role VARCHAR, " +

                       "age INT(3));");




  @Override

        public void onUpgrade(SQLiteDatabase db, int oldVersion, int currentVersion) {

            Log.v("DB_LOG",

                    "Upgrading " + MY_DATABASE_TABLE + " database from version " +

                    oldVersion + " to " + currentVersion +

                    ", which will destroy all old data");

            db.execSQL("DROP TABLE IF EXISTS " + MY_DATABASE_TABLE);    

// IF EXISTS 에러 발생시키지 말라는 예외 처리

            onCreate(db);        //버전 바뀌면 db생성

        }        

    }



SQLiteDatabase db = mOpenHelper.getReadableDatabase();    //읽기 

 mOpenHelper.getWritableDatabase();    //쓰기



Cursor c = db.query(MY_DATABASE_TABLE, 

new String[] {"name","nickname","role","age"}, 

null, null, null, null, null);

// select name, nickname,role,age, from sample_table where _id=? 와 같음