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);
- import android.content.ContentValues;
- import android.content.Context;
- import android.database.Cursor;
- import android.database.sqlite.SQLiteDatabase;
- import android.database.sqlite.SQLiteOpenHelper;
- import android.util.Log;
-
- public class DatabaseAdapter{
- private static final String DB_NAME = "Test.db";
- private static final int DB_VERSION = 1;
- private static final String DB_TABLE = "my_order";
- private static final String KEY_ID = "_id";
- private static final String KEY_ORDER_ID = "order_id";
- private static final String KEY_TYPE = "_type";
- private static final String KEY_STATE = "_state";
- private Context context;
- private DatabaseHelper mDatabaseHelper;
- private SQLiteDatabase mSQLiteDatabase;
- private static class DatabaseHelper extends SQLiteOpenHelper{
-
- private static final String DB_CREAT = "CREATE TABLE "
- + DB_TABLE
- + " (" + KEY_ID + " INTEGER PRIMARY KEY,"
- + 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)";
- public DatabaseHelper(Context context) {
- super(context,DB_NAME,null,DB_VERSION);
- }
- @Override
- public void onCreate(SQLiteDatabase db) {
-
- db.execSQL(DB_CREAT);
- public void onUpgrade(SQLiteDatabase db,int oldVersion,int newVersion) {
- db.execSQL("DROP TABLE IF EXISTS "+DB_TABLE);
- onCreate(db);
- public DatabaseAdapter(Context context) {
- this.context = context;
-
- public void open() {
- mDatabaseHelper = new DatabaseHelper(context);
- mSQLiteDatabase = mDatabaseHelper.getWritableDatabase();
-
- public void close() {
- mSQLiteDatabase.close();
- mDatabaseHelper.close();
-
- public long insertData(String orderId,int type) {
- ContentValues values = new ContentValues();
- values.put(KEY_ORDER_ID,orderId);
- values.put(KEY_TYPE,type);
- values.put(KEY_STATE,Config.STATE_APPLY);
- long id = mSQLiteDatabase.insert(DB_TABLE,KEY_ID,values);
- return id;
-
- public boolean deleteData(Context context,long id) {
- boolean delete = mSQLiteDatabase.delete(DB_TABLE,KEY_ID + "=" +id,null)>0;
- return delete;
-
- public boolean updateData(long id,int state) {
- ""+state);
- 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;
-
- public Cursor fetchData(String selection) {
- Cursor mCursor = mSQLiteDatabase.query(DB_TABLE, new String[]{KEY_ID,KEY_ORDER_ID,KEY_TYPE,KEY_STATE},null);
- if(mCursor != null)
- mCursor.moveToFirst();
- return mCursor;
- }
(编辑:李大同)
【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!
|