SQLite
来源:互联网 发布:windows informix创建 编辑:程序博客网 时间:2024/06/05 15:01
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) 升级数据库的时候调用,是个回调函数
claose() 当关闭数据库时,是个回调函数
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("表名",null,cv);
//删除
String where ="ID = ?";
String [] whereValue = {Integer.toString(id)};//这里如果where有多少个? 就要有多少个值
db.delete("表名",where,whereValue);
//修改
String where ="id =?";
String [] whereValue = {Integer.toString(id)};
ContentValues cv = new ContentValues();
cv.put("列名","要修改成什么值");
db.update("表名",cv,where,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;
- publicclass DatabaseAdapter{
- privatestaticfinal String DB_NAME ="Test.db";//数据库名
- privatestaticfinalint DB_VERSION =1;//数据库版本
- privatestaticfinal String DB_TABLE ="my_order";//表名
- privatestaticfinal String KEY_ID ="_id";//id
- privatestaticfinal String KEY_ORDER_ID ="order_id";//订单号
- privatestaticfinal String KEY_TYPE ="_type";//订单类型
- privatestaticfinal String KEY_STATE ="_state";//订单状态
- private Context context;
- private DatabaseHelper mDatabaseHelper;
- private SQLiteDatabase mSQLiteDatabase;
- privatestaticclass DatabaseHelperextends SQLiteOpenHelper{
- //创建数据库语句
- privatestaticfinal String DB_CREAT ="CREATE TABLE "
- + DB_TABLE
- + " (" + KEY_ID +" INTEGER PRIMARY KEY,"
- + KEY_ORDER_ID + " TEXT,"
- + KEY_TYPE + " INTEGER,"
- + KEY_STATE + " INTEGER)";
- public DatabaseHelper(Context context) {
- super(context, DB_NAME,null , DB_VERSION);
- }
- @Override
- publicvoid onCreate(SQLiteDatabase db) {
- // TODO Auto-generated method stub
- db.execSQL(DB_CREAT);
- }
- @Override
- publicvoid onUpgrade(SQLiteDatabase db,int oldVersion,int newVersion) {
- // TODO Auto-generated method stub
- db.execSQL("DROP TABLE IF EXISTS "+DB_TABLE);
- onCreate(db);
- }
- }
- public DatabaseAdapter(Context context) {
- this.context = context;
- }
- //开启
- publicvoid open() {
- mDatabaseHelper = new DatabaseHelper(context);
- mSQLiteDatabase = mDatabaseHelper.getWritableDatabase();
- }
- //关闭
- publicvoid close() {
- mSQLiteDatabase.close();
- mDatabaseHelper.close();
- }
- //增
- publiclong 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;
- }
- //删
- publicboolean deleteData(Context context,long id) {
- boolean delete = mSQLiteDatabase.delete(DB_TABLE, KEY_ID +"=" +id,null)>0;
- return delete;
- }
- //改
- publicboolean updateData(long id,int state) {
- ContentValues values = new ContentValues();
- values.put(KEY_STATE, ""+state);
- boolean update = mSQLiteDatabase.update(DB_TABLE, values, KEY_ID +"=" +id,null)>0;
- return update;
- }
- //查
- public Cursor fetchData(String selection) {
- Cursor mCursor = mSQLiteDatabase.query(DB_TABLE, new String[]{KEY_ID, KEY_ORDER_ID, KEY_TYPE, KEY_STATE}, selection,null,null,null,null);
- if(mCursor !=null)
- mCursor.moveToFirst();
- return mCursor;
- }
- }
- SQLite
- SQLite
- SQLite
- SQLite
- SQLite
- sqlite
- sqlite
- SQLite
- SQLite
- sqlite
- SQLite
- SQLite
- SQLite
- SQLite
- SQLite
- sqlite
- sqlite
- sqlite
- POJ 2653 Pick-up sticks 线段相交问题
- json 、jsonp
- vim 常用用法
- Zim学习笔记
- libevent 学习笔记(一)————初探libevent
- SQLite
- 【分享】Stanford Dataset全集之Signed networks
- 收集oracle统计信息
- Django:模型
- 1047. Student List for Course (25)-PAT
- jquery ui datepicker
- vim 7的 无限回退功能
- Linux设备模型理解
- 一键删除svn信息