| 
如果一個應用程序中的數據庫無需提供對外訪問,實現一個繼承自SQLiteOpenHelper的數據庫幫助類,以支持數據庫的創建和版本的更新, 這些SQLiteDataBase所不能實現的.但是SQLiteDataBase卻具備一些非常重要的對數據庫進行操作的方法,數據表的創建刪除、數據 的增刪改查都是通過它實現的。
x
馬上加入Android 台灣中文網,立即免費下載應用遊戲。您需要 登錄 才可以下載或查看,沒有帳號?註冊  
 執行增刪改操作方法 :db.execSQL(sql); 或者db.insert()、db.delete()、db.update(),並且包括數據表的創建和刪除等等也可以通過execSQL實現
 執行數據查詢方法:db.rawQuery(sql, selectionArgs); 或者db.query(table, columns, selection, selectionArgs, groupBy, having, orderBy);複製代碼   //創建表
    public boolean createTable(){
        SQLiteDatabase db=dbHelper.getWritableDatabase();
        String sql="CREATE TABLE IF NOT EXISTS "+TABLE_NAME+"(ID INTEGER PRIMARY KEY,Name VARCHAR,Age INTEGER)";
        try{
            db.execSQL(sql);
            return true;
        }catch(SQLException ex){
            Log.d(tag, "create table failure");
            return false;
        }
    }
    //添加數據
    public boolean addData(){
        String name=etname.getText().toString();
        String age=etage.getText().toString();
        SQLiteDatabase db=dbHelper.getWritableDatabase();
        String sql="insert into "+TABLE_NAME+"(name,age) values ('"+name+"','"+age+"')";
        try{
            db.execSQL(sql);
            
            return true;
        }catch(SQLException ex){
            Log.d(tag, "add data failure");
            return false;
        }
    }
    
    //修改
    public boolean updateData(){
        SQLiteDatabase db=dbHelper.getWritableDatabase();
        String sql="update "+TABLE_NAME+" set age='2' where name like 'cb'";
        Object[] bindArgs={"cb"};
        try{
            db.execSQL(sql, bindArgs);
            return true;
        }catch(SQLException ex){
            Log.d(tag, "update data failure");
            return false;
        }
    }
複製代碼    //查詢
    public void selectData(){
        SQLiteDatabase db=dbHelper.getReadableDatabase();
        String[] columns={"name"};
        Cursor cursor=db.query(TABLE_NAME, columns, null, null, null, null, null);
        String names="";
        while(cursor.moveToNext()){
            int c=cursor.getColumnIndexOrThrow("Name");
            String name=cursor.getString(c);
          //< = >
          //String name=cursor.getString(0);//只查詢了一列
            if(names==""){
                names=name;
            }else{
                names=names+"\n"+name;
            }
        }
        tvname.setText(names);
        //另外一種查詢方法
        //String sql="select name from "+TABLE_NAME;
        //Curosr cursor=db.rawQuery(sql, null);
    }
 |