#android建立一個資料庫以及加入資料至資料庫

以下為建立資料表格使用ANDROID 內建的SQLite

以下需額外建立一個Class

此處為建立表格


  public class MyDBHelper extends SQLiteOpenHelper  {

      private SQLiteDatabase db;
      public MyDBHelper(Context context, String name,
        SQLiteDatabase.CursorFactory factory, int version) {
          super(context, name, factory, version);
          db = this.getReadableDatabase();
      }

      @Override
      public void onCreate(SQLiteDatabase db) {
        db.execSQL("CREATE TABLE IF NOT EXISTS"+  " ALARM " +"(_id INTEGER PRIMARY KEY , " +
        "Aname VAR UNIQUE   , " +
        "Atime TIME)");

      }

以下為尋找欄位與更新欄位


  public Cursor filList(long id) throws SQLException{
      Cursor cursor = db.query(
              "ALARM",
              new String[] {"_id","Atime"},
              "_id ="  +id,
              null,
              null,
              null,
              null,
              null
      );
      if (cursor != null) {
          cursor.moveToFirst(); //將指標移到第一筆資料
      }
      return cursor;
  }
  public int update(long rowId, String value) {
      ContentValues args = new ContentValues();
      args.put("Atime", value);

      return db.update("ALARM", //資料表名稱
              args,    //VALUE
              "_id=" + rowId,   //WHERE
              null    //WHERE的參數
      );
  }


判斷資料表是否為空 並重新移至第一個欄位


      public boolean isEmpty(){
          db.execSQL("CREATE TABLE IF NOT EXISTS"+  " ALARM " +"(_id INTEGER PRIMARY KEY , " + "Aname VAR UNIQUE   , " +"Atime TIME)");
          Cursor cursor = db.query(
                  "ALARM",
                  null,
                  null,
                  null,
                  null,
                  null,
                  null,
                  null
          );
          if (cursor.getCount() ==0) {
              return  false; //將指標移到第一筆資料
          }
          else
              return  true;
      }
      @Override
      public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) {

      }

  }

以下為加入資料至資資料庫


  helper = new MyDBHelper(this,"expense.db",null,1);//在oncreate建立MyDBHelper


  if(helper.isEmpty()){ //在oncreate中宣告未建立表格時選高建立n個欄位
  Cursor morn = helper.filList(1);
  Cursor noo = helper.filList(2);
  Cursor ni = helper.filList(3);
  Cursor mid = helper.filList(4);


  if(!helper.isEmpty()){
      values.put("Aname","morning");
      values.put("Atime", mmoring);
      long id = helper.getWritableDatabase().insert("ALARM", null, values);
      values.clear();
      Log.d("ADD", id + "");
      values.put("Aname","noon");
      values.put("Atime", mnoon);
      id = helper.getWritableDatabase().insert("ALARM", null, values);
      Log.d("ADD", id + "");
      values.clear();
      values.put("Aname","night");
      values.put("Atime", mnight);
      id = helper.getWritableDatabase().insert("ALARM", null, values);
      Log.d("ADD", id + "");
      values.clear();
      values.put("Aname","midnight");
      values.put("Atime", mmidnight);
      id = helper.getWritableDatabase().insert("ALARM", null, values);
      Log.d("ADD", id + "");
      values.clear();
  }
  else
  {
      id = helper.update(1,mmoring);
      id = helper.update(2,mnoon);
      id = helper.update(3,mnight);
      id = helper.update(4,mmidnight);

  }

留言