1. 程式人生 > 其它 >第二階段衝刺(2)

第二階段衝刺(2)

根據一個教程性的視訊學習了sqlite的語法,成功建立了資料庫,也可以對資料庫進行升級等操作,編寫了Dao方法。

public class DatabaseHelper extends SQLiteOpenHelper {
    public static SQLiteDatabase sqLiteDatabase;

    private static final String TAG = "DatabaseHelper";


    /*
    context:上下文
    name:資料庫名稱
    factory:直譯遊標工廠,為null的時候使用預設值
    version:版本號

     
*/ public DatabaseHelper(@Nullable Context context) { super(context, Constants.DATABASE_NAME, null, Constants.VERSION_CODE); } //只有第一次建立資料庫時會呼叫這個方法 @Override public void onCreate(SQLiteDatabase sqLiteDatabase) { //建立時的回撥 Log.d(TAG,"建立資料庫..."); //建立欄位 String sql = "create table "+ Constants.TABLE_NAME +"(_id integer,name varchar,age integer,salary integer)"; sqLiteDatabase.execSQL(sql); } @Override
public void onUpgrade(SQLiteDatabase sqLiteDatabase, int oldVersion, int newVersion) { //升級資料庫時的回撥 Log.d(TAG,"升級資料庫..."); String sql; switch (oldVersion){ case 3://新增phone欄位 // sql = "alter table "+Constants.TABLE_NAME+" add phone integer"; // sqLiteDatabase.execSQL(sql);
break; case 4://新增address欄位 sql = "alter table "+Constants.TABLE_NAME+" add address varchar"; sqLiteDatabase.execSQL(sql); break; case 5: break; } } }
public class MainActivity extends AppCompatActivity {

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);

        DatabaseHelper helper = new DatabaseHelper(this);
        helper.getWritableDatabase();

    }
}
View Code
public class Constants {
    public static final String DATABASE_NAME = "sunofbeaches.db";
    public static final int VERSION_CODE = 5;
    public static final String TABLE_NAME = "employee";

}
View Code
public class Dao {

    private static final String Tag = "";
    private final DatabaseHelper mHelper;



    public Dao(Context context) {

        //建立資料庫
        mHelper = new DatabaseHelper(context);

    }

    public void insert() {
        SQLiteDatabase db = mHelper.getWritableDatabase();
        String sql = "insert into "+ Constants.TABLE_NAME +"(_id,name,age,salary,phone) values(?,?,?,?,?)";
        db.execSQL(sql,new Object[]{1,"BillGates",60,1,110});
        db.close();
    }

    public void delete() {
        SQLiteDatabase db = mHelper.getWritableDatabase();
        String sql = "delete from "+ Constants.TABLE_NAME +" where age = 60";
        db.execSQL(sql);
        db.close();
    }

    public void update() {
        SQLiteDatabase db = mHelper.getWritableDatabase();
        String sql = "update "+ Constants.TABLE_NAME +" set salary = 2 where age = 60";
        db.execSQL(sql);
        db.close();
    }

    public void query() {
        SQLiteDatabase db = mHelper.getWritableDatabase();
        String sql = "select * from "+ Constants.TABLE_NAME;
        Cursor cursor = db.rawQuery(sql,null);
        while (cursor.moveToNext()){
            int index = cursor.getColumnIndex("name");
            String name = cursor.getString(index);
            Log.d(Tag,"name == " + name);
            System.out.println(name+ "asdsadsadasdasdsxzcwqe2121412421421");
        }
        cursor.close();
        db.close();
    }
}
View Code