安卓中对SQLite数据库的增删改查_第1页
安卓中对SQLite数据库的增删改查_第2页
安卓中对SQLite数据库的增删改查_第3页
安卓中对SQLite数据库的增删改查_第4页
安卓中对SQLite数据库的增删改查_第5页
全文预览已结束

下载本文档

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

文档简介

安卓中对SQLite数据库的增删改查第⼀步:编写⼀个javaBeanpackagecom.itfom.entity;publicclassPerson{privateStringname;privateintage;privateStringphone;publicStringgetName(){returnname;}publicvoidsetName(Stringname){=name;}publicintgetAge(){returnage;}publicvoidsetAge(intage){this.age=age;}publicStringgetPhone(){returnphone;}publicvoidsetPhone(Stringphone){this.phone=phone;}//创建构造函数publicPerson(){}publicPerson(Stringname,intage,Stringphone){=name;this.age=age;this.phone=phone;}//重写toString@OverridepublicStringtoString(){return"姓名:"+name+"年龄:"+age+"电话:"+phone+"\n";}}第⼆步:创建数据库packagepackagecom.itfom.helper;importandroid.content.Context;importandroid.database.sqlite.SQLiteDatabase;importandroid.database.sqlite.SQLiteOpenHelper;publicclassOpenHelperextendsSQLiteOpenHelper{publicOpenHelper(Contextcontext){//这三个参数分别为上下⽂对象,数据库名称,游标,版本号super(context,"xsc.db",null,1);}@OverridepublicvoidonCreate(SQLiteDatabasedb){db.execSQL("createtableperson(namevarchar(50),ageinteger,phonevarchar(50))");}@OverridepublicvoidonUpgrade(SQLiteDatabasedb,intoldVersion,intnewVersion){//注:⽣产环境上不能做删除操作db.execSQL("DROPTABLEIFEXISTSperson");onCreate(db);}}第三步:创建数据库的操作类packagecom.itfom.entitydao;importjava.util.ArrayList;importjava.util.List;importandroid.content.Context;importandroid.database.Cursor;importandroid.database.sqlite.SQLiteDatabase;importcom.itfom.entity.Person;importcom.itfom.helper.OpenHelper;publicclassPersonDao{privateOpenHelperhelper=null;/**构造函数getWritableDatabase()或getReadableDatabase()SQLiteDatabase实例;因为这⾥是⼿机应⽤程序,⼀般只有⼀个⽤户访问数据库,所以建议不关闭数据库,保持连接状态。getWritableDatabase(),getReadableDatabase的区别是当数据库写满时,调⽤前者会报错,调⽤后者不会,所以如果不是更新数据库的话,最好调⽤后者来获得数据库连接。SQLexeSQL(),rawQuery(),因为⽐较直观明了@paramcontext*/publicPersonDao(Contextcontext){helper=newOpenHelper(context);}//实现对该数据库的增加publicvoidaddPerson(Personperson){//获取操作实例SQLiteDatabasedb=helper.getWritableDatabase();/StringsqlStr="insertintoperson(name,age,phone)values(?,?,?)";//执⾏SQL语句db.execSQL(sqlStr,newObject[]{person.getName(),person.getAge(),person.getPhone()});db.execSQL(sqlStr,newObject[]{person.getName(),person.getAge(),person.getPhone()});//关闭数据库db.close();}//实现对数据库的删除publicvoiddeletePerson(Stringname){//获取数据库操作的实例SQLiteDatabasedb=helper.getWritableDatabase();//创建SQL字符串StringsqlStr="deletefrompersonwherename=?";db.execSQL(sqlStr,newString[]{name});//关闭数据库db.close();}//实现对数据库的修改publicvoidupdatePerson(Personperson){//获取数据库的操作实例SQLiteDatabasedb=helper.getWritableDatabase();//创建SQl字符串StringsqlStr="updatepersonsetname=?,phone=?whereage=?";//执⾏SQL语句db.execSQL(sqlStr,newObject[]{person.getName(),person.getPhone(),person.getAge()});//关闭数据库db.close();}//实现对数据库的查询publicList<Person>selectPerson(){//创建集合List<Person>persons=newArrayList<Person>();//获取数据库操作实例SQLiteDatabasedb=helper.getReadableDatabase();//创建Cursor对象Cursorcursor=null;try{cursor=db.rawQuery("select*fromperson",null);while(cursor.moveToNext()){Stringname=cursor.getString(cursor.getColumnIndex("name"));intage=cursor.getInt(cursor.getColumnIndex("age"));Stringphone=cursor.getString(cursor.getColumnIndex("phone"));//创建Person对象Personp=newPerson(name,age,phone);//将创建出来的Person对象添加到集合中去persons.add(p);}}catch(Exceptione)e.printStackTrace();}finally{//关闭相应的资源if(cursor!=null){cursor.close();}if(db!=null){db.close();}}returnpersons;}}packagecom.itfom.sqlite;importjava.util.List;importandroid.app.Activity;importandroid.app.Activity;importandroid.os.Bundle;importandroid.view.View;importandroid.view.View.OnClickListener;importandroid.widget.Button;importandroid.widget.Toast;importcom.itfom.entity.Person;importcom.itfom.entitydao.PersonDao;publicclassMainActivityextendsActivityimplementsOnClickListener{//寻找控件Buttonbtn_add,btn_delete,btn_update,btn_select;//创建数据库操作类的实例PersonDaopd=null;List<Person>persons=null;@OverrideprotectedvoidonCreate(BundlesavedInstanceState){super.onCreate(savedInstanceState);setContentView(R.layout.activity_main);init();}init(){//初始化控件btn_add=(Button)findViewById(R.id.btn_add);btn_delete=(Button)findViewById(R.id.btn_delete);btn_update=(Button)findViewById(R.id.btn_update);btn_select=(Button)findViewById(R.id.btn_select);pd=newPersonDao(this);//为每个控件设置监听事件btn_add.setOnClickListener(this);btn_delete.setOnClickListener(this);btn_update.setOnClickListener(this);btn_select.setOnClickListener(this);}@OverridepublicvoidonClick(Viewv){switch(v.getId()){caseR.id.btn_add://添加数据//创建Person对象for(inti=0;i<100;i++){Personp=newPerson("夏守成"+i,i,"1809527282");pd.addPerson(p);}Toast.makeText(this,"添加数据成功",Toast.LENGTH_SHORT).show();break;caseR.id.btn_delete://删除数据pd.deletePerson("夏守成0");Toast.makeText(this,"删除数据成功",Toast.LENGTH_SHORT).show();break;caseR.id.btn_update://更新数据//创建Person对象Personp=newPerson("刘丹",21,"110");pd.updatePerson(p);Toast.makeText(this,"数据更新成功",Toast.LENGTH_SHORT).show();break;caseR.id.btn_selec

温馨提示

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

评论

0/150

提交评论