下载本文档
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
安卓中对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. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2024年20加减法课件:开启教育新纪元
- PRISEMI芯导在电子烟市场的方案与应用240830(2)一级代理分销经销KOYUELEC光与电子
- 第二届国赛江苏选拔赛社会体育指导(健身)项目技术文件
- 《废墟的召唤》课件:2024年考古学新发现
- 江苏省南京市2024-2025学年高二上学期11月期中考试 地理 含解析
- 部编版八年级上册道德与法治期中试卷带答案
- 空调水处理技术
- 2024年教学设计:《登上企鹅岛》课件的创新应用
- 工业组态控制技术说课
- 新疆2010定额解释(一至六)
- GB/T 42455.2-2024智慧城市建筑及居住区第2部分:智慧社区评价
- 2024年认证行业法律法规及认证基础知识
- 五十年的同学会配乐诗朗诵.
- 中国石油天然气股份有限公司股权处置实施细则
- 高中化学趣味知识竞赛(课堂PPT)
- 三管塔筏板计算
- 柴油购销合同
- MD380总体技术方案重点讲义
- 天车道轨施工方案
- 传染病转诊单
- 手术室各级护士岗位任职资格及职责
评论
0/150
提交评论