数据库的增删改查 →创建sqlite数据库

来源:互联网 发布:单片机元器件清单 编辑:程序博客网 时间:2024/04/30 01:56

model层:Person类

private int id;private String name;private String number;
PersonDao类

package org.gentry.db.dao;import java.util.ArrayList;import java.util.List;import org.gentry.db.PersonSQLiteOpenHelper;import org.gentry.db.domain.Person;import android.content.Context;import android.database.Cursor;import android.database.sqlite.SQLiteDatabase;public class PersonDao {private PersonSQLiteOpenHelper helper;// 在构造方法里面完成helper的初始化public PersonDao(Context context) {<span style="white-space:pre"></span>helper = new PersonSQLiteOpenHelper(context);}/** * 添加一条记录到数据库 *  * @param name *            姓名 * @param number *            电话 */public void add(String name, String number) {SQLiteDatabase db = helper.getWritableDatabase();db.execSQL("insert into person (name, number) values (?, ?)",new Object[] { name, number });db.close();}/** * 查询记录是否存在 *  * @param name *            姓名 * @return true 存在 false 不存在 */public boolean find(String name) {SQLiteDatabase db = helper.getReadableDatabase();Cursor cursor = db.rawQuery("select * from person where name = ?",new String[] { name });boolean result = cursor.moveToNext();cursor.close();db.close();return result;}/** * 修改一条记录 *  * @param name *            要修改的人的姓名 * @param number *            新的号码 */public void update(String name, String number) {SQLiteDatabase db = helper.getWritableDatabase();db.execSQL("update person set number = ? where name = ?", new Object[] {number, name });db.close();}/** * 删除一条记录 *  * @param name *            姓名 */public void delete(String name) {SQLiteDatabase db = helper.getWritableDatabase();db.execSQL("delete from person where name = ?", new Object[] { name });db.close();}/** * 返回全部数据库的信息 *  * @return */public List<Person> findAll() {SQLiteDatabase db = helper.getReadableDatabase();List<Person> persons = new ArrayList<Person>();Cursor cursor = db.rawQuery("select * from person", null);while (cursor.moveToNext()) {// int id = cursor.getInt(0); // 拿到第一列id的值(int类型)// String name = cursor.getString(1); // 拿到第二列name的值(String类型)// String number = cursor.getString(2); // 拿到第三列number的值(String类型)int id = cursor.getInt(cursor.getColumnIndex("id")); // 拿到id所在列的值(int类型)String name = cursor.getString(cursor.getColumnIndex("name")); // 拿到name所在列的值(String类型)String number = cursor.getString(cursor.getColumnIndex("number")); // 拿到number所在列的值(String类型)Person p = new Person(id, name, number);persons.add(p);}cursor.close();db.close();return persons;}}



0 0
原创粉丝点击