Sqlite
发布时间:2022-05-22 发布网站:大佬教程 code.js-code.com
大佬教程收集整理的这篇文章主要介绍了SQLite,大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。
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,where@R_696_7548@;
//修改
String where ="ID =?";
String [] whereValue = {Integer.toString(ID)};
Helvetica,"要修改成什么值");
db.update("表名",cv,where@R_696_7548@;
- importandroID.content.ContentValues;
- importandroID.content.Context;
- importandroID.database.cursor;
- importandroID.database.sqlite.sqliteDatabase;
- importandroID.database.sqlite.sqliteOpenHelper;
- importandroID.util.Log;
-
- publicclassDatabaseAdapter{
- privatestaticfinalStringdb_name="test.db";
- finalintDB_VERSION=1;
- finalStringDB_table="my_order";
- finalStringKEY_ID="_ID";
- finalStringKEY_ORDER_ID="order_ID";
- finalStringKEY_TYPE="_type";
- finalStringKEY_STATE="_state";
- privateContextcontext;
- privateDatabaseHelpermDatabaseHelper;
- privatesqliteDatabasemsqliteDatabase;
- classDatabaseHelperextendssqliteOpenHelper{
-
- finalStringDB_CREAT="CREATEtable"
- +DB_table
- +"("+KEY_ID+"IntegeRprimaryKey,"
- +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)";
- publicDatabaseHelper(Contextcontext){
- super(context,db_name,null,DB_VERSION);
- }
- @OverrIDe
- voIDonCreate(sqliteDatabasedb){
- //Todoauto-generatedmethodstub
- db.execsql(DB_CREAT);
- voIDonUpgrade(sqliteDatabasedb,85); Font-weight:bold">intoldVersion,85); Font-weight:bold">intnewVersion){
- db.execsql("DROPtableIFEXISTS"+DB_tablE);
- onCreate(db);
- publicDatabaseAdapter(Contextcontext){
- this.context=context;
- //开启
- voIDopen(){
- @H_114_47@mDatabaseHelper=newDatabaseHelper(context);
- @H_114_47@msqliteDatabase=mDatabaseHelper.getWritableDatabase();
- //关闭
- voIDclose(){
- @H_114_47@msqliteDatabase.close();
- @H_114_47@mDatabaseHelper.close();
- //增
- longinsertData(StringorderID,85); Font-weight:bold">inttypE){
- ContentValuesvalues=newContentValues();
- values.put(KEY_ORDER_ID,orderID);
- values.put(KEY_TYPE,typE);
- values.put(KEY_STATE,Config.STATE_APPLY);
- longID=msqliteDatabase.insert(DB_table,KEY_ID,values);
- returnID;
- //删
- BooleandeleteData(Contextcontext,85); Font-weight:bold">longID){
- Booleandelete=msqliteDatabase.delete(DB_table,KEY_ID+"="+ID,85); Font-weight:bold">null)>0;
- returndelete;
- //改
- BooleanupdateData(longID,85); Font-weight:bold">intstatE){
li style="border-left:rgb(209,""+statE);
- Booleanupdate=msqliteDatabase.update(DB_table,values,85); Font-weight:bold">returnupdate;
- //查
- publiccursorfetchData(StringSELEction){
- cursormcursor=msqliteDatabase.query(DB_table,newString[]{KEY_ID,KEY_ORDER_ID,KEY_TYPE,KEY_STATE},85); Font-weight:bold">null);
- if(mcursor!=null)
- @H_114_47@mcursor.movetoFirst();
- return@H_114_47@mcursor;
- }
大佬总结
以上是大佬教程为你收集整理的SQLite全部内容,希望文章能够帮你解决SQLite所遇到的程序开发问题。
如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。
本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。