加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

SQLite

发布时间:2020-12-12 23:59:18 所属栏目:百科 来源:网络整理
导读:SQLite 2个主要的类 A)__SQLiteOpenHelper 这个类是一个抽象类 实现他的类必须包含一个构造方法: public **(Context context,表的名字,CursorFactory,版本){spuer(**,**,**)} 参数注意: version(版本):必须是大于0的整数 方法: getReadableDatabase() 返回:

SQLite
2个主要的类
A)__SQLiteOpenHelper
这个类是一个抽象类
实现他的类必须包含一个构造方法: public **(Context context,表的名字,CursorFactory,版本){spuer(**,**,**)}
参数注意:
version(版本):必须是大于0的整数

方法:
getReadableDatabase() 返回:可读的SQLiteDatabase
getWritableDatabase() 返回:可写的SQLiteDatabase
onCreate(SQLiteDatabase db) 第一次调用这个类的时候会调用,是个回调函数
onUpgradel(SQLiteDatabase db,int oldVersion,int new Version) 升级数据库的时候调用,sans-serif; font-size:14px; line-height:25px">claose() 当关闭数据库时,sans-serif; font-size:14px; line-height:25px">B)__SQLiteDatabase SQLite操作的类
实例:
//Databasehelper 是一个继承自SQLiteOpenHelper的类
Databasehelper dbHeper = new DatabaseHelper(上下文环境,"数据库名称",null,版本);
SQLiteDatabase db = dbHeper.getReadableDatabase();//或 getWritableDatabase()
//查询 返回 Cursor(一个游标类型,可以用 curosr.moveToNext()执行下一步操作)
Curosr cu = db.query(table,columns,selection,selectionArgs,groupBy,having,orderBy);
while(cu.moveToNext()){
String name =cu.getString(cu.getColumnINdex("列名"));
}
//增加
ContentValues cv = new ContentValues();
cv.put("列名","值");
long row = db.insert("表名",cv);
//删除
String where ="ID = ?";
String [] whereValue = {Integer.toString(id)};//这里如果where有多少个? 就要有多少个值
db.delete("表名",where,whereValue);
//修改
String where ="id =?";
String [] whereValue = {Integer.toString(id)};

db.update("表名",cv,whereValue);

  1. import android.content.ContentValues;
  2. import android.content.Context;
  3. import android.database.Cursor;
  4. import android.database.sqlite.SQLiteDatabase;
  5. import android.database.sqlite.SQLiteOpenHelper;
  6. import android.util.Log;
  7. public class DatabaseAdapter{
  8. private static final String DB_NAME = "Test.db"; //数据库名
  9. private static final int DB_VERSION = 1; //数据库版本
  10. private static final String DB_TABLE = "my_order"; //表名
  11. private static final String KEY_ID = "_id"; //id
  12. private static final String KEY_ORDER_ID = "order_id"; //订单号
  13. private static final String KEY_TYPE = "_type"; //订单类型
  14. private static final String KEY_STATE = "_state"; //订单状态
  15. private Context context;
  16. private DatabaseHelper mDatabaseHelper;
  17. private SQLiteDatabase mSQLiteDatabase;
  18. private static class DatabaseHelper extends SQLiteOpenHelper{
  19. //创建数据库语句
  20. private static final String DB_CREAT = "CREATE TABLE "
  21. + DB_TABLE
  22. + " (" + KEY_ID + " INTEGER PRIMARY KEY,"
  23. + KEY_ORDER_ID + " TEXT,250); margin:0px 0px 0px 38px; padding-left:10px; padding-right:0px; font-size:1em; padding-top:0px"> + KEY_TYPE + " INTEGER,250); margin:0px 0px 0px 38px; padding-left:10px; padding-right:0px; font-size:1em; padding-top:0px"> + KEY_STATE + " INTEGER)";
  24. public DatabaseHelper(Context context) {
  25. super(context,DB_NAME,null,DB_VERSION);
  26. }
  27. @Override
  28. public void onCreate(SQLiteDatabase db) {
  29. // TODO Auto-generated method stub
  30. db.execSQL(DB_CREAT);
  31. public void onUpgrade(SQLiteDatabase db,int oldVersion,int newVersion) {
  32. db.execSQL("DROP TABLE IF EXISTS "+DB_TABLE);
  33. onCreate(db);
  34. public DatabaseAdapter(Context context) {
  35. this.context = context;
  36. //开启
  37. public void open() {
  38. mDatabaseHelper = new DatabaseHelper(context);
  39. mSQLiteDatabase = mDatabaseHelper.getWritableDatabase();
  40. //关闭
  41. public void close() {
  42. mSQLiteDatabase.close();
  43. mDatabaseHelper.close();
  44. //增
  45. public long insertData(String orderId,int type) {
  46. ContentValues values = new ContentValues();
  47. values.put(KEY_ORDER_ID,orderId);
  48. values.put(KEY_TYPE,type);
  49. values.put(KEY_STATE,Config.STATE_APPLY);
  50. long id = mSQLiteDatabase.insert(DB_TABLE,KEY_ID,values);
  51. return id;
  52. //删
  53. public boolean deleteData(Context context,long id) {
  54. boolean delete = mSQLiteDatabase.delete(DB_TABLE,KEY_ID + "=" +id,null)>0;
  55. return delete;
  56. //改
  57. public boolean updateData(long id,int state) {
  58. ""+state);
  59. boolean update = mSQLiteDatabase.update(DB_TABLE,values,250); margin:0px 0px 0px 38px; padding-left:10px; padding-right:0px; font-size:1em; padding-top:0px"> return update;
  60. //查
  61. public Cursor fetchData(String selection) {
  62. Cursor mCursor = mSQLiteDatabase.query(DB_TABLE, new String[]{KEY_ID,KEY_ORDER_ID,KEY_TYPE,KEY_STATE},null);
  63. if(mCursor != null)
  64. mCursor.moveToFirst();
  65. return mCursor;
  66. }

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读