分享

sqlite使用详解

 真爱图书 2010-12-06
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;
  }
  
}

    本站是提供个人知识管理的网络存储空间,所有内容均由用户发布,不代表本站观点。请注意甄别内容中的联系方式、诱导购买等信息,谨防诈骗。如发现有害或侵权内容,请点击一键举报。
    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多