Android学习数据库表增加删除修改查询16页_第1页
Android学习数据库表增加删除修改查询16页_第2页
Android学习数据库表增加删除修改查询16页_第3页
免费预览已结束,剩余13页可下载查看

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、Android学习数据库表增加删除修改查询根据SQLiteDatabase,SQLiteOpenHelper,ContentValues对数据库做增,删,改,查操作的公用代码.SQLiteDatabase:insert(databaseHelper.DATABASE_TABLE,null,content);第一参数:数据库表名第二个参数如果CONTENT空时则向表中插入一个NULL,第三个参数为插入的内容delete(databaseHelper.DATABASE_TABLE,KEY_ROWID+"="+rowId,null)>0;第一参数:数据库表名,第二个参数表示

2、条件语句,第三个参数为条件带?的替代值返回值大于0表示删除成功update(databaseHelper.DATABASE_TABLE,args,KEY_ROWID+"="+rowId,null)>0;第一个参数:数据库表名第二个参数更新的内容第三个参数更新的条件第四个参数条件带?号的替代者数据库创建:Java代码packageus.imnet.iceskysl.db.notepad;importandroid.content.Context;importandroid.database.sqlite.SQLiteDatabase;importandroid.data

3、base.sqlite.SQLiteOpenHelper;importandroid.database.sqlite.SQLiteDatabase.CursorFactory;/*创建数据库对象*authorxuzhenqin*/publicclassDatabaseHelperextendsSQLiteOpenHelper(/数据库名称privatefinalstaticStringDATABASE_NAME="notepad"/数据库版本号privatefinalstaticintDATABASE_VERSION=1;publicstaticfinalStringDAT

4、ABASE_TABLE="diary"/数据表创建SQL语句privatestaticfinalStringDATABASE_CREATE="createtable"+DATABASE_TABLE+"(_idintegerprimarykeyautoincrement,"+"titletextnotnull,bodytextnotnull,createdtextnotnull);"publicDatabaseHelper(Contextcontext)(/调用父类构造方法创建数据库super(context,DAT

5、ABASE_NAME,null,DATABASE_VERSION);OverridepublicvoidonCreate(SQLiteDatabasedb)(/执行创建数据库SQL语句db.execSQL(DATABASE_CREATE);OverridepublicvoidonUpgrade(SQLiteDatabasedb,intoldVersion,intnewVersion)(/判断数据库是否存在db.execSQL("DROPTABLEIFEXISTSdiary");onCreate(db);packageus.imnet.iceskysl.db.notepad;

6、importandroid.content.Context;importandroid.database.sqlite.SQLiteDatabase;importandroid.database.sqlite.SQLiteOpenHelper;importandroid.database.sqlite.SQLiteDatabase.CursorFactory;/*创建数据库对象*authorxuzhenqin*/publicclassDatabaseHelperextendsSQLiteOpenHelper/数据库名称privatefinalstaticStringDATABASE_NAME=

7、"notepad"/数据库版本号privatefinalstaticintDATABASE_VERSION=1;publicstaticfinalStringDATABASE_TABLE="diary"/数据表创建SQL语句privatestaticfinalStringDATABASE_CREATE="createtable"+DATABASE_TABLE+"(_idintegerprimarykeyautoincrement,"+"titletextnotnull,bodytextnotnull,cr

8、eatedtextnotnull);"publicDatabaseHelper(Contextcontext)/调用父类构造方法创建数据库super(context,DATABASE_NAME,null,DATABASE_VERSION);OverridepublicvoidonCreate(SQLiteDatabasedb)/执行创建数据库SQL语句db.execSQL(DATABASE_CREATE);OverridepublicvoidonUpgrade(SQLiteDatabasedb,intoldVersion,intnewVersion)/判断数据库是否存在db.exec

9、SQL("DROPTABLEIFEXISTSdiary");onCreate(db);数据库增,删,改,查公共类:Java代码packageus.imnet.iceskysl.db.notepad;importjava.util.Calendar;importandroid.content.ContentValues;importandroid.content.Context;importandroid.database.Cursor;importandroid.database.SQLException;importandroid.database.sqlite.SQLi

10、teDatabase;importandroid.database.sqlite.SQLiteException;/*数据库操作对象*authorxuzhenqin*/publicclassDiaryDbAdapter(publicstaticfinalStringKEY_TITLE="title"publicstaticfinalStringKEY_BODY="body"publicstaticfinalStringKEY_ROWID="_id"publicstaticfinalStringKEY_CREATED="cre

11、ated"privateDatabaseHelperdatabaseHelper;privateContextcontext;privateSQLiteDatabasesqliteDatabase;publicDiaryDbAdapter(Contextcontext)this.context=context;/*打开数据库连接*/publicvoidopen()(databaseHelper=newDatabaseHelper(context);try(sqliteDatabase=databaseHelper.getWritableDatabase();catch(SQLiteE

12、xceptionex)(sqliteDatabase=databaseHelper.getReadableDatabase();*关闭数据库连接*/publicvoidclose()(sqliteDatabase.close();/*向数据库表中插入一条数据* paramtitle字段值* parambody字段值*/publiclongcreateDiary(Stringtitle,Stringbody)Contentvaluescontent=newContentValues();content.put(KEY_TITLE,title);content.put(KEY_BODY,body)

13、;Calendarcalendar=Calendar.getInstance();Stringcreated=calendar.get(Calendar.YEAR)+"年"+calendar.get(Calendar.MONTH)+"月"+calendar.get(Calendar.DAY_OF_MONTH)+"日"+calendar.get(Calendar.HOUR_OF_DAY)+"时”+calendar.get(Calendar.MINUTE)+"分"content.put(KEY_CREATED

14、,created);/content为插入表中的一条记录,类似与HASHMAPM以键值对形式存储。/insert方法第一参数:数据库表名,第二个参数如果CONTENT为空时则向表中插入一个NULL第三个参数为插入的内容returnsqliteDatabase.insert(databaseHelper.DATABASE_TABLE,null,content);*删除表中符合条件的记录* paramrowId删除条件* return是否删除成功*/publicbooleandeleteDiary(longrowId)(/delete方法第一参数:数据库表名,第二个参数表示条件语句,第三个参数为条

15、件带?的替代值/返回值大于0表示删除成功returnsqliteDatabase.delete(databaseHelper.DATABASE_TABLE,KEY_ROWID+"="+rowId,null)>0;*查询全部表记录* return返回查询的全部表记录*/publicCursorgetAllNotes()(/查询表中满足条件的所有记录returnsqliteDatabase.query(databaseHelper.DATABASE_TABLE,newString(KEY_ROWID,KEY_TITLE,KEY_BODY,KEY_CREATED,null,

16、null,null,null,null);/*查询带条件的记录* paramrowId条件值* return返回查询结果*throwsSQLException查询时异常抛出*/publicCursorgetDiary(longrowId)throwsSQLException(/查询表中条件值为rowId的记录CursormCursor=sqliteDatabase.query(true,databaseHelper.DATABASE_TABLE,newString(KEY_ROWID,KEY_TITLE,KEY_BODY,KEY_CREATED,KEY_ROWID+"="+

17、rowId,null,null,null,null,null);/mCursor不等于null,将标识指向第一条记录if(mCursor!=null)(mCursor.moveToFirst();returnmCursor;*更新数据库* paramrowId行标识* paramtitle内容* parambody内容* return是否更新成功*/publicbooleanupdateDiary(longrowId,Stringtitle,Stringbody)ContentValuesargs=newContentValues();args.put(KEY_TITLE,title);args.put(KEY_BODY,body);Calendarcalendar=Calendar.getInstance();Stringcreated=calendar.get(Calendar.YEAR)+"年+calendar.get(Calendar.MONTH)+"月"+calendar.get(Calendar.DAY_OF_MON

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论