资源预览内容
第1页 / 共6页
第2页 / 共6页
第3页 / 共6页
第4页 / 共6页
第5页 / 共6页
第6页 / 共6页
亲,该文档总共6页全部预览完了,如果喜欢就下载吧!
资源描述
数据库增修改查操作(2)(精)数据库增修改查操作(2)一、事例描绘程序运转的时候加载的界面如图1,包含增添、删除、改正和查问所有数据按钮,并实现相应功能。图1图2单击“增添”按钮,插入一条记录,成效如图2;单击“查问所有”按钮,查问获得所有记录,并将结果打印出来,如图3;单击“删除”按钮,删除指定记录,如图4;单击“改正”按钮,改正指定记录,如图5。/图3图4图5二、知识链接( 4)ContentValues类 ContentValues类和Hashtable类较为相像,它用于储存一些键值对,能够被ContentResolver类办理,可是它储存的键值对中间的键是一个String种类,而值都是基本种类。ContentValues类作为一个重要的参数在SQLiteDatabase中的insert,update等方法中使用。 ContentValues类有3种结构方法,格式分别以下:ContentValues(:使用默认的初始大小来创立一个空集。ContentValues(intsize):使用指定的初始大小size值来创立一个空集。ContentValues(ContentValuesfrom):复制给定的会合from,用于创立一组会合数值。ContentValues类的常用方法介绍以下:voidclear(:清空会合中的所有数值。booleancontainsKey则返回true,不然返回(Stringkeyfalse。):假如会合中包含了指定的重点字key,Objectget(Stringkey):返回重点字key对应的数值,返回数值种类为Object,往常还需要进行强迫种类变换。 voidput(Stringkey,Integervalue):将一个值加入到会合中,此中参数key表示会合中的重点字;参数value表示要增添的数据。ContentValues类还有好多put方法,主要的差别是第二个参数为其余数据种类,比如:put(Stringkey,Bytevalue)、put(Stringkey,Floatvalue)、put(Stringkey,Shortvalue)、put(Stringkey,bytevalue) voidremove(Stringkey):将某个重点字key的数值从会合中删除。 intsize(:返回会合中数值的个数。三、事例实现( 1)MainActivity.java中增添数据的方法/* 增添一条记录*/publicvoidadd(ViewviewRandomrandom=newRandom(;SQLiteDatabasedb=personHelper.getWritableDatabase(;/db.execSQL(insertintoinfo(name,phonevalues(?,?,newObject张三ContentValuesvalues=newContentValues(;values.put(name,张三+random.nextInt(100;values.put(phone,186775411+random.nextInt(100;longrow=db.insert(info,null,values;if(row=-1Toast.makeText(this,增添失败!,1.show(;elseToast.makeText(this,增添成功!,1.show(;db.close(;( 2)MainActivity.java中删除记录的方法/* 删除一条记录*/publicvoiddelete(ViewviewSQLiteDatabasedb=personHelper.getWritableDatabase(;/db.execSQL(deletefrominfowherename=?,newObject张三31;intnumber=db.delete(info,name=?,newString张三11;if(number=0Toast.makeText(this,删除失败!记录有可能不存在!,Toast.LENGTH_LONG.show(;elseToast.makeText(this,删除成功!,Toast.LENGTH_LONG.show(;db.close(;( 3)MainActivity.java中改正记录的方法/* 更新一条记录*/publicvoidupdate(ViewviewSQLiteDatabasedb=personHelper.getWritableDatabase(;/db.execSQL(updateinfosetphone=?wherename=?,new张三32;ContentValuesvalues=newContentValues(;intnumber=db.update(info,values,name=?,newString张三28;if(number=0Toast.makeText(this,改正失败!记录有可能不存在!,Toast.LENGTH_LONG.show(;elseToast.makeText(this,改正成功!,Toast.LENGTH_LONG.show(;db.close(;( 4)MainActivity.java中查问所有记录的方法publicvoidfindAll(ViewviewSQLiteDatabasedb=personHelper.getReadableDatabase(;/Cursorcursor=db.rawQuery(select*frominfo,null;Cursorcursor=db.query(info,null,null,null,null,null,null;ListpersonInfos=newArrayList(;while(cursor.moveToNext(Personperson=newPerson(;person.setId(cursor.getInt(cursor.getColumnIndex(_id;person.setName(cursor.getString(cursor.getColumnIndex(name;person.setPhone(cursor.getString(cursor.getColumnIndex(phone;personInfos.add(person;person=null;/ 记得开释指针cursor.close(;for(Personp:personInfosSystem.out.println(p.toString(;db.close(;
网站客服QQ:2055934822
金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号