綁定帳號登入

Android 台灣中文網

打印 上一主題 下一主題

[教程] android操作SQLite增刪改減教程

[複製連結] 查看: 2070|回覆: 2|好評: 0
跳轉到指定樓層
樓主
暗桌之光 | 收聽TA | 只看該作者 回帖獎勵 |正序瀏覽 |閱讀模式
發表於 2011-6-14 15:25

馬上加入Android 台灣中文網,立即免費下載應用遊戲。

您需要 登錄 才可以下載或查看,沒有帳號?註冊

x
如果一個應用程序中的數據庫無需提供對外訪問,實現一個繼承自SQLiteOpenHelper的數據庫幫助類,以支持數據庫的創建和版本的更新, 這些SQLiteDataBase所不能實現的.但是SQLiteDataBase卻具備一些非常重要的對數據庫進行操作的方法,數據表的創建刪除、數據 的增刪改查都是通過它實現的。

執行增刪改操作方法 :db.execSQL(sql); 或者db.insert()、db.delete()、db.update(),並且包括數據表的創建和刪除等等也可以通過execSQL實現
  1.    //創建表
  2.     public boolean createTable(){
  3.         SQLiteDatabase db=dbHelper.getWritableDatabase();
  4.         String sql="CREATE TABLE IF NOT EXISTS "+TABLE_NAME+"(ID INTEGER PRIMARY KEY,Name VARCHAR,Age INTEGER)";
  5.         try{
  6.             db.execSQL(sql);
  7.             return true;
  8.         }catch(SQLException ex){
  9.             Log.d(tag, "create table failure");
  10.             return false;
  11.         }
  12.     }

  13.     //添加數據
  14.     public boolean addData(){
  15.         String name=etname.getText().toString();
  16.         String age=etage.getText().toString();
  17.         SQLiteDatabase db=dbHelper.getWritableDatabase();
  18.         String sql="insert into "+TABLE_NAME+"(name,age) values ('"+name+"','"+age+"')";
  19.         try{
  20.             db.execSQL(sql);
  21.             
  22.             return true;
  23.         }catch(SQLException ex){
  24.             Log.d(tag, "add data failure");
  25.             return false;
  26.         }
  27.     }
  28.    
  29.     //修改
  30.     public boolean updateData(){
  31.         SQLiteDatabase db=dbHelper.getWritableDatabase();
  32.         String sql="update "+TABLE_NAME+" set age='2' where name like 'cb'";
  33.         Object[] bindArgs={"cb"};
  34.         try{
  35.             db.execSQL(sql, bindArgs);
  36.             return true;
  37.         }catch(SQLException ex){
  38.             Log.d(tag, "update data failure");
  39.             return false;
  40.         }

  41.     }
複製代碼
執行數據查詢方法:db.rawQuery(sql, selectionArgs); 或者db.query(table, columns, selection, selectionArgs, groupBy, having, orderBy);
  1.     //查詢
  2.     public void selectData(){
  3.         SQLiteDatabase db=dbHelper.getReadableDatabase();
  4.         String[] columns={"name"};
  5.         Cursor cursor=db.query(TABLE_NAME, columns, null, null, null, null, null);
  6.         String names="";
  7.         while(cursor.moveToNext()){
  8.             int c=cursor.getColumnIndexOrThrow("Name");
  9.             String name=cursor.getString(c);
  10.           //< = >
  11.           //String name=cursor.getString(0);//只查詢了一列
  12.             if(names==""){
  13.                 names=name;
  14.             }else{
  15.                 names=names+"\n"+name;
  16.             }
  17.         }
  18.         tvname.setText(names);
  19.         //另外一種查詢方法
  20.         //String sql="select name from "+TABLE_NAME;
  21.         //Curosr cursor=db.rawQuery(sql, null);
  22.     }
複製代碼
「用Android 就來APK.TW」,快來加入粉絲吧!
Android 台灣中文網(APK.TW)

評分

參與人數 3碎鑽 +6 幫助 +2 收起 理由
idvtw + 1
PaaKJaT + 1 + 1 非常讚
y776 + 5 支持一下

查看全部評分

收藏收藏1 分享分享 分享專題
用Android 就來Android 台灣中文網(https://apk.tw)
板凳
jiaums | 收聽TA | 只看該作者
發表於 2012-5-27 18:54
簡單實用!感謝分享!
用Android 就來Android 台灣中文網(https://apk.tw)
回覆 支持 反對

使用道具 舉報

沙發
nahph | 收聽TA | 只看該作者
發表於 2011-9-23 21:41
太好了,终于找到SQLiteDataBase的source code .
用Android 就來Android 台灣中文網(https://apk.tw)
回覆 支持 反對

使用道具 舉報

您需要登錄後才可以回帖 登錄 | 註冊

本版積分規則