Android+学习+数据库表增加+删除+修改+查询(doc16页)

整理文档很辛苦,赏杯茶钱您下走!

免费阅读已结束,点击下载阅读编辑剩下 ...

阅读已结束,您可以下载文档离线阅读编辑

资源描述

Android学习数据库表增加删除修改查询根据SQLiteDatabase,SQLiteOpenHelper,ContentValues对数据库做增,删,改,查操作的公用代码.SQLiteDatabase:insert(databaseHelper.DATABASE_TABLE,null,content);第一参数:数据库表名第二个参数如果CONTENT为空时则向表中插入一个NULL,第三个参数为插入的内容delete(databaseHelper.DATABASE_TABLE,KEY_ROWID+=+rowId,null)0;第一参数:数据库表名,第二个参数表示条件语句,第三个参数为条件带?的替代值返回值大于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.database.sqlite.SQLiteOpenHelper;importandroid.database.sqlite.SQLiteDatabase.CursorFactory;/***创建数据库对象*@authorxuzhenqin**/publicclassDatabaseHelperextendsSQLiteOpenHelper{//数据库名称privatefinalstaticStringDATABASE_NAME=notepad;//数据库版本号privatefinalstaticintDATABASE_VERSION=1;publicstaticfinalStringDATABASE_TABLE=diary;//数据表创建SQL语句privatestaticfinalStringDATABASE_CREATE=createtable+DATABASE_TABLE+(_idintegerprimarykeyautoincrement,+titletextnotnull,bodytextnotnull,createdtextnotnull);;publicDatabaseHelper(Contextcontext){//调用父类构造方法创建数据库super(context,DATABASE_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;importandroid.content.Context;importandroid.database.sqlite.SQLiteDatabase;importandroid.database.sqlite.SQLiteOpenHelper;importandroid.database.sqlite.SQLiteDatabase.CursorFactory;/***创建数据库对象*@authorxuzhenqin**/publicclassDatabaseHelperextendsSQLiteOpenHelper{//数据库名称privatefinalstaticStringDATABASE_NAME=notepad;//数据库版本号privatefinalstaticintDATABASE_VERSION=1;publicstaticfinalStringDATABASE_TABLE=diary;//数据表创建SQL语句privatestaticfinalStringDATABASE_CREATE=createtable+DATABASE_TABLE+(_idintegerprimarykeyautoincrement,+titletextnotnull,bodytextnotnull,createdtextnotnull);;publicDatabaseHelper(Contextcontext){//调用父类构造方法创建数据库super(context,DATABASE_NAME,null,DATABASE_VERSION);}@OverridepublicvoidonCreate(SQLiteDatabasedb){//执行创建数据库SQL语句db.execSQL(DATABASE_CREATE);}@OverridepublicvoidonUpgrade(SQLiteDatabasedb,intoldVersion,intnewVersion){//判断数据库是否存在db.execSQL(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.SQLiteDatabase;importandroid.database.sqlite.SQLiteException;/***数据库操作对象*@authorxuzhenqin**/publicclassDiaryDbAdapter{publicstaticfinalStringKEY_TITLE=title;publicstaticfinalStringKEY_BODY=body;publicstaticfinalStringKEY_ROWID=_id;publicstaticfinalStringKEY_CREATED=created;privateDatabaseHelperdatabaseHelper;privateContextcontext;privateSQLiteDatabasesqliteDatabase;publicDiaryDbAdapter(Contextcontext){this.context=context;}/***打开数据库连接*/publicvoidopen(){databaseHelper=newDatabaseHelper(context);try{sqliteDatabase=databaseHelper.getWritableDatabase();}catch(SQLiteExceptionex){sqliteDatabase=databaseHelper.getReadableDatabase();}}/***关闭数据库连接*/publicvoidclose(){sqliteDatabase.close();}/***向数据库表中插入一条数据*@paramtitle字段值*@parambody字段值*/publiclongcreateDiary(Stringtitle,Stringbody){ContentValuescontent=newContentValues();content.put(KEY_TITLE,title);content.put(KEY_BODY,body);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,created);//content为插入表中的一条记录,类似与HASHMAP,是以键值对形式存储。//insert方法第一参数:数据库表名,第二个参数如果CONTENT为空时则向表中插入一个NULL,第三个参数为插入的内容returnsqliteDatabase.insert(databaseHelper.DATABASE_TABLE,null,content);}/***删除表中符合条件的记录*@paramrowId删除条件*@return是否删除成功*/publicbooleandeleteDiary(longrowId){//delete方法第一参数:数据库表名,第二个参数表示条件语句,第三个参数为条件带?的替代值//返回值大于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,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+=+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)+年+

1 / 16
下载文档,编辑使用

©2015-2020 m.777doc.com 三七文档.

备案号:鲁ICP备2024069028号-1 客服联系 QQ:2149211541

×
保存成功