• android SQLite使用


    这里介绍一些SQLite一些基本常用的方法,参考API手册

    首先需要得到一个SQLiteDatabase对象;

    SQLiteDatabase db;

    db = openOrCreateDatabase("data.db", Context.MODE_PRIVATE, null);

    然后再在db中创建一个表;

    db.execSQL("CREATE TABLE IF NOT EXISTS table_name (_id INTEGER PRIMARY KEY AUTOINCREMENT, date INTEGER, item TEXT, money INTEGER)"); 

    增添数据;

     //按键值保存插入数据,data为事先建立的表,表中有date,item,money三项
     public void SQLiteSave(long date,String item,int money)
     {
      data.date = date;
      data.item = item;
      data.money = money;
            ContentValues cv = new ContentValues(); 
            cv.put("date", data.date); 
            cv.put("item", data.item);
            cv.put("money", data.money);
            //插入ContentValues中的数据 
            db.insert("data", null, cv);
     }

    //更新数据;先根据date,item,money找到已经存在的数据,得到主键_id,再根据_id将date替换为new_date

     public void SQLiteUpdateDate(long date,String item,int money,long new_date)
     {
      String var_date=String.valueOf (date);
      String var_money=String.valueOf (money);
      ContentValues cv = new ContentValues(); 
      cv.put("date", new_date);
      
      Cursor c = db.rawQuery("SELECT * FROM data WHERE date = ? AND item = ? AND money = ?", new String[]{var_date,item,var_money});  
      while (c.moveToNext())
      {
       String _id = String.valueOf(c.getInt(c.getColumnIndex("_id")));
       db.update("data", cv, "_id = ? ", new String[]{_id});
      }
      c.close(); 
     }

    //删除数据,根据date,item,money得到主键_id然后删除

     public void SQLiteDelete(long date,String item,int money)
     {
      String var_date=String.valueOf (date);
      String var_money=String.valueOf (money);
      Cursor c = db.rawQuery("SELECT * FROM data WHERE date = ? AND item = ? AND money = ?", new String[]{var_date,item,var_money});  
      while (c.moveToNext())
      {
       String _id = String.valueOf(c.getInt(c.getColumnIndex("_id")));
       db.delete("data", "_id = ?", new String[]{_id});
      }
      c.close();
     }

    这里只是提供一种方法

  • 相关阅读:
    git常用命令及常见问题解析
    如何让一个sprite绕一个点旋转,同时又可以实现指定旋转角度并慢慢停下的效果
    webpack打包,同时将ES6转为ES5,初探
    测试网站接口,nginx篇
    Phaserjs V2的state状态解析及技巧
    Phaserjs怎样用ES6开发游戏
    PIXI屏幕自适应以及强制横屏
    CSS性能优化新属性:will-change
    div,css&table布局有哪些区别
    防止js全局变量污染方法总结
  • 原文地址:https://www.cnblogs.com/s-hk/p/3455879.html
Copyright © 2020-2023  润新知