package com.jftt.cjl.service;
import android.content.Context; import android.database.sqlite.SQLiteDatabase; import android.database.sqlite.SQLiteOpenHelper; import android.database.sqlite.SQLiteDatabase.CursorFactory; public class DBHelper extends SQLiteOpenHelper { private static final String DB_NAME="jftt"; private static final int VERSION=1; public DBHelper(Context context){ super(context,DB_NAME,null,VERSION); } @Override public void onCreate(SQLiteDatabase db) { String sql="create table person(pid integer primary key autoincrement,pname varchar(30),page INTEGER)"; db.execSQL(sql); } @Override public void onUpgrade(SQLiteDatabase db, int arg1, int arg2) { db.execSQL("drop table if exists person"); onCreate(db); } } package com.jftt.cjl.service; import java.util.ArrayList; import java.util.List; import android.content.Context; import android.database.Cursor; import android.database.sqlite.SQLiteDatabase; public class DBManager { private DBHelper dbHelper; private Context context; private SQLiteDatabase db; public DBManager(Context context) { this.context=context; dbHelper=new DBHelper(context); } /* * 数据的存储 * */ public void insert(Person person){ String sql="insert into person(pname,page)values(?,?)"; db = dbHelper.getWritableDatabase(); db.execSQL(sql,new Object[]{person.getPname(),person.getPage()}); db.close(); } /* * 删除数据 * * */ public void delete(Integer...ids){ StringBuffer sb=new StringBuffer(); if(ids.length>0){ for(Integer id:ids){ sb.append('?').append(','); } sb=sb.deleteCharAt(sb.length()-1); } db=dbHelper.getWritableDatabase(); db.execSQL("delete from person where pid in("+sb+")",(Object[])ids); } /* * 查询单条记录 * */ public Person findByID(int pid){ Person person=null; db=dbHelper.getWritableDatabase(); Cursor cur=db.rawQuery("select * from person where pid=?", new String[]{String.valueOf(pid)}); if(cur.moveToNext()) { person= new Person(Integer.parseInt(cur.getString(2)),pid,cur.getString(1)); return person;} return null; } /* * find all the data * */ public List<Person> findAll(){ List<Person> persons=new ArrayList<Person>();; db=dbHelper.getReadableDatabase(); Cursor cur=db.rawQuery("select * from person ", null); while(cur.moveToNext()){ persons.add(new Person(cur.getInt(2),cur.getInt(0),cur.getString(1))); } return persons; } /* * update data * */ public void update(Person person){ db=dbHelper.getWritableDatabase(); db.execSQL("update person set pname=?,page=?where pid=?",new Object[]{person.getPname(),person.getPage(),person.getPid()}); } public List<Person> findLimit(int start,int maxlimit){ List<Person> persons=new ArrayList<Person>();; db=dbHelper.getReadableDatabase(); Cursor cur=db.rawQuery("select * from person limit?,?", new String[]{String.valueOf(start),String.valueOf(maxlimit)}); while(cur.moveToNext()){ persons.add(new Person(cur.getInt(2),cur.getInt(0),cur.getString(1))); } return persons; } public long getCount(){ db=dbHelper.getWritableDatabase(); Cursor cur=db.rawQuery("select count(*) from person",null); if(cur.moveToNext()){ return cur.getLong(0); } return 0; } } |
|