下载本文档
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
安卓中对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. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 反馈部门绩效考核结果确认函5篇
- 催办未完成项目资料归档的催办函8篇范文
- 当代展会营销策略与操作指南
- 售后服务质量检查清单与评分系统
- 企业团队活动策划执行模板方案规划
- 家庭财务预算管理方案月度收支平衡操作手册
- 幼儿教师亲子互动沟通技巧提升指导书
- 环境保护措施保障承诺书(3篇)
- 信息安全事情紧急处理承诺书(4篇)
- 企业财务管理流程操作指南及规范
- 第5课 从小爱劳动 课件(内嵌视频) 2025-2026学年道德与法治三年级下册统编版
- 一年级数学10以内加减法计算专项练习题(每日一练共12份)
- 2026特种作业场内专用机动车辆作业考试题及答案
- (二模)苏北七市2026届高三第二次调研测试生物试卷(含答案)
- TCABEE080-2024零碳建筑测评标准(试行)
- 遗传性高胆红素血症诊疗专家共识(2025年版)解读课件
- 科大讯飞深度研究报告
- 2026内蒙古地质矿产集团有限公司所属矿山企业招聘230人笔试备考试题及答案解析
- 2025云南滇中新区股权投资有限公司招聘5人笔试历年备考题库附带答案详解
- 建筑项目危险作业安全操作规程
- 信息系统运维培训
评论
0/150
提交评论