SQLite数据库的添删改查
来源:互联网 发布:淘宝节点处罚在哪里看 编辑:程序博客网 时间:2024/06/08 01:56
还是那句话,经常重复的代码要总结起来
1.首先建一个person实例:
Person.java
package morgen.domain;public class Person { private Integer id; private String name; private String phone; public Integer getId() { return id; } public void setId(Integer id) { this.id = id; } public String getName() { return name; } public void setName(String name) { this.name = name; } public String getPhone() { return phone; } public void setPhone(String phone) { this.phone = phone; } public Person(Integer id, String name, String phone) { this.id = id; this.name = name; this.phone = phone; } public Person(String name, String phone) { this.name = name; this.phone = phone; } @Override public String toString() { return "Person [id=" + id + ", name=" + name + ", phone=" + phone + "]"; } }
2.接着创建数据库文件和表
DBOpenHelper.java
package morgen.db;import android.content.Context;import android.database.sqlite.SQLiteDatabase;import android.database.sqlite.SQLiteOpenHelper;public class DBOpenHelper extends SQLiteOpenHelper { public DBOpenHelper(Context context) { super(context, "morgen.db", null, 2); } @Override public void onCreate(SQLiteDatabase db) { db.execSQL("CREATE TABLE person(id integer primary key autoincrement, name varchar(20))"); } @Override public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) { db.execSQL("ALTER TABLE person ADD phone VARCHAR(12) NULL"); }}
3.对数据库进行操作
PersonService.java
package morgen.service;import java.util.ArrayList;import java.util.List;import android.content.Context;import android.database.Cursor;import android.database.sqlite.SQLiteDatabase;import morgen.db.DBOpenHelper;import morgen.domain.Person;public class PersonService { private DBOpenHelper dbOpenHelper; public PersonService(Context context){ dbOpenHelper = new DBOpenHelper(context); } /** * 保存数据 * @param person */ public void save(Person person){ SQLiteDatabase db = dbOpenHelper.getWritableDatabase(); db.execSQL("insert into person(name,phone) values(?,?)", new Object[]{person.getName(), person.getPhone()}); //db.close(); } /** * 删除记录 * @param id 记录ID */ public void delete(Integer id){ SQLiteDatabase db = dbOpenHelper.getWritableDatabase(); db.execSQL("delete from person where id=?", new Object[]{id}); } /** * 更新记录 * @param person */ public void update(Person person){ SQLiteDatabase db = dbOpenHelper.getWritableDatabase(); db.execSQL("update person set name=?,phone=? where id=?", new Object[]{person.getName(), person.getPhone(), person.getId()}); } /** * 获取记录 * @param id 记录id * @return */ public Person find(Integer id){ SQLiteDatabase db = dbOpenHelper.getReadableDatabase(); Cursor cursor = db.rawQuery("select * from person where id=?", new String[]{id.toString()}); if(cursor.moveToFirst()){ String phone = cursor.getString(cursor.getColumnIndex("phone")); String name = cursor.getString(cursor.getColumnIndex("name")); cursor.close(); return new Person(id, name, phone); } return null; } /** * 分页获取记录 * @param offset 跳过前面多少条记录 * @param maxResult 每页获取的记录数 * @return */ public List<Person> getScrollData(int offset, int maxResult){ List<Person> persons = new ArrayList<Person>(); SQLiteDatabase db = dbOpenHelper.getReadableDatabase(); Cursor cursor = db.rawQuery("select * from person order by id asc limit ?,?", new String[]{String.valueOf(offset), String.valueOf(maxResult)}); while(cursor.moveToNext()){ int id = cursor.getInt(cursor.getColumnIndex("id")); String phone = cursor.getString(cursor.getColumnIndex("phone")); String name = cursor.getString(cursor.getColumnIndex("name")); persons.add(new Person(id, name, phone)); } cursor.close(); return persons; } /** * 获取记录总数 * @return */ public long getCount(){ SQLiteDatabase db = dbOpenHelper.getReadableDatabase(); Cursor cursor = db.rawQuery("select count(*) from person", null); cursor.moveToFirst(); long count = cursor.getLong(0); cursor.close(); return count; }}
- SQLite数据库的添删改查
- 嵌入式关系型数据库SQLite的添删改查
- Android学习笔记---SQLite介绍,以及使用Sqlite,进行数据库的创建,完成数据添删改查的理解
- 使用嵌入式关系型SQLite数据库存储数据(添删改查)使用(execSQL,rawQuery)
- android中创建数据库与完成数据添删改查(SQLite)
- MSSQL 数据库的正删改查语句
- thinkphp对数据库的删改查
- hibernate(3.6)的添删改查研究
- 简单的数据库操作 增 删改 查 Java编程
- datagirdview和listview,删改查sqlserver数据库的小结
- ssm框架下对数据库表的增查删改
- ssm框架下对数据库表的增查删改
- MYSQL数据库添删改查—操作过程记录
- 创建数据库与完成数据添删改查(一)
- 双链表的插删改查
- 数据库:SQLite数据库的增删改查
- SQLite数据库---数据库的增删改查
- (ASP.NET)Gridview使用EF绑定数据库支持多个网页的增查删改
- HTTP报文解析及其状态码
- 想要一棵树
- MyEclipse Enterprise Workbench 9.0破解及注册机
- 模板友元函数
- USACO Section 2.1 题解
- SQLite数据库的添删改查
- 批量修改word尾注或脚注格式
- saxophome
- 【Object类型】JavaScript中的原生对象以及Microsoft AJAX Library中的相关扩展
- 多线程测试框架MultithreadedTC
- uva10195
- 用man查看命令帮助时, 括号中的数字表示的意思
- 我也来说说winsock最简单的编程
- 2010拉风语~~~帅呆了