下载本文档
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
安卓中对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. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 空调售后维修人员培训
- DB65T 4989-2025农村单坑卫生户厕建设技术规范
- DB21T 4262-2025日光温室草莓低温短日促早熟技术规程
- 屋面悬挑脚手架专项施工方案
- 安全生产责任制考核制度和考核标准
- 2026四川绵阳文化旅游发展投资集团有限公司招聘投资管理岗等岗位的3人备考题库带答案详解(达标题)
- 2026年上半年教师资格考试高中生物学科知识与教学能力试题及答案
- 2024年长沙科技学院马克思主义基本原理概论期末考试题含答案解析(夺冠)
- 2026年电力调度自动化维护员专项考试题及答案
- 2026年1月广东广州市天河区金穗幼儿园招聘编外聘用制专任教师2人备考题库附答案详解(综合题)
- 云南省昆明市2026届高三三诊一模摸底诊断测试化学试卷(含答案)
- 2026年1月浙江省高考(首考)化学试题(含标准答案及解析)
- 老年患者多病共存精准管理策略
- 胖东来商品汰换率筛选标准
- 建筑施工行业2026年春节节前全员安全教育培训
- 2026及未来5年中国防病毒网关行业市场全景调查及发展前景研判报告
- 村(社区)“两委”换届“回头看”工作开展情况报告
- 附图武陵源风景名胜区总体规划总平面和功能分区图样本
- pe管道安装专项施工方案
- 煤矿复产安全培训课件
- 肿瘤便秘患者健康宣教
评论
0/150
提交评论