Android SQLiteDatabase的使用

本文介绍了一个使用Java实现的数据库适配器,展示了如何通过ContentValues进行数据插入、删除、更新和查询的操作。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

Java代码 收藏代码
  1. package com.shawn.test;  
  2. import android.content.ContentValues;  
  3. import android.content.Context;  
  4. import android.database.Cursor;  
  5. import android.database.sqlite.SQLiteDatabase;  
  6. import android.database.sqlite.SQLiteOpenHelper;  
  7. import android.util.Log;  
  8. publicclass DatabaseAdapter{  
  9. privatestaticfinal String DB_NAME = "Test.db";    //数据库名
  10. privatestaticfinalint    DB_VERSION = 1;         //数据库版本
  11. privatestaticfinal String DB_TABLE = "my_order";  //表名
  12. privatestaticfinal String KEY_ID = "_id";         //id
  13. privatestaticfinal String KEY_ORDER_ID = "order_id";  //订单号
  14. privatestaticfinal String KEY_TYPE = "_type";         //订单类型
  15. privatestaticfinal String KEY_STATE = "_state";       //订单状态
  16. private Context context;  
  17. private DatabaseHelper mDatabaseHelper;  
  18. private SQLiteDatabase mSQLiteDatabase;  
  19. privatestaticclass DatabaseHelper extends SQLiteOpenHelper{  
  20. //创建数据库语句
  21. privatestaticfinal String DB_CREAT = "CREATE TABLE "
  22.                 + DB_TABLE  
  23.                 + " (" + KEY_ID + " INTEGER PRIMARY KEY,"
  24.                 + KEY_ORDER_ID + " TEXT,"
  25.                 + KEY_TYPE + " INTEGER,"
  26.                 + KEY_STATE + " INTEGER)";  
  27. public DatabaseHelper(Context context) {  
  28. super(context, DB_NAME,  null , DB_VERSION);  
  29.         }  
  30. @Override
  31. publicvoid onCreate(SQLiteDatabase db) {  
  32. // TODO Auto-generated method stub
  33.             db.execSQL(DB_CREAT);  
  34.         }  
  35. @Override
  36. publicvoid onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) {  
  37. // TODO Auto-generated method stub
  38.             db.execSQL("DROP TABLE IF EXISTS "+DB_TABLE);  
  39.             onCreate(db);  
  40.         }  
  41.     }  
  42. public DatabaseAdapter(Context context) {  
  43. this.context = context;  
  44.     }  
  45. //开启
  46. publicvoid open() {  
  47.         mDatabaseHelper = new DatabaseHelper(context);    
  48.         mSQLiteDatabase = mDatabaseHelper.getWritableDatabase();  
  49.     }  
  50. //关闭
  51. publicvoid close() {   
  52.         mSQLiteDatabase.close();  
  53.         mDatabaseHelper.close();  
  54.     }  
  55. //增
  56. publiclong insertData(String orderId, int type) {    
  57.         ContentValues values = new  ContentValues();     
  58.         values.put(KEY_ORDER_ID, orderId);   
  59.         values.put(KEY_TYPE, type);  
  60.         values.put(KEY_STATE, Config.STATE_APPLY);   
  61. long id = mSQLiteDatabase.insert(DB_TABLE, KEY_ID, values);   
  62. return id;  
  63.     }  
  64. //删
  65. publicboolean deleteData(Context context, long id) {  
  66. boolean delete = mSQLiteDatabase.delete(DB_TABLE, KEY_ID + "=" +id, null)>0;  
  67. return delete;  
  68.     }  
  69. //改
  70. publicboolean updateData(long id, int state) {  
  71.         ContentValues values = new  ContentValues();    
  72.         values.put(KEY_STATE, ""+state);   
  73. boolean update = mSQLiteDatabase.update(DB_TABLE, values, KEY_ID + "=" +id, null)>0;  
  74. return update;  
  75.     }  
  76. //查
  77. public Cursor fetchData(String selection) {  
  78.         Cursor mCursor = mSQLiteDatabase.query(DB_TABLE, new String[]{KEY_ID, KEY_ORDER_ID, KEY_TYPE, KEY_STATE}, selection, nullnullnullnull);  
  79. if(mCursor != null)  
  80.             mCursor.moveToFirst();  
  81. return mCursor;  
  82.     }  
  83. }  
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值