android 对sqlite数据库的操作类

发布时间:2013-05-05 07:14:33

 

android 对sqlite数据库的操作类
import android.content.ContentValues;
import android.content.Context;
import android.database.Cursor;
import android.database.sqlite.SQLiteDatabase;
import android.database.sqlite.SQLiteOpenHelper;
/**
* 数据库操作的Helper类
* @author admin
*
*/
public class DatabaseHelper extends SQLiteOpenHelper {

static final String dbName="Winf";//数据库名
static final String name="";
static final String tableName="test";//数据表名称
SQLiteDatabase db= this.getWritableDatabase();
public RedianDatabaseHelper(Context context) {
  super(context, dbName, null, 1);
  // TODO Auto-generated constructor stub
}
@Override
public void onCreate(SQLiteDatabase db) {
  // TODO Auto-generated method stub
  db.execSQL("CREATE TABLE "+tableName+" (id INTEGER PRIMARY KEY AUTOINCREMENT,Dishi text, Redian text)");
}
@Override
public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) {
  // TODO Auto-generated method stub
  db.execSQL("DROP TABLE IF EXISTS "+tableName);
}
/**
  * 添加操作
  * @param con
  */
  public void insert(ContentValues cv){
  SQLiteDatabase db= this.getWritableDatabase();
  db.insert(tableName, null, cv);
}

  /**
   * 得到记录总条数
   * @return
   */
public int getCount(){
  SQLiteDatabase db=this.getWritableDatabase();
  Cursor cur= db.rawQuery("Select * from "+tableName, null);
  int x= cur.getCount();
  cur.close();
  return x;
}
/**
  * 得到所有记录的List数组
  * 返回Cursor数据源
  * @return
  */
public Cursor query(){
  return db.query(tableName, null,null, null, null, null, null, null);
}

/**
  * 根据id得到记录
  * @return Cursor
  */
public Cursor queryByid(String id){
  return db.query(tableName, null, "id=?", new String[]{id}, null, null, null, null);
}

/**
  * 删除操作
  * @param id
  * @return
  */
public int delete(String id){
  return db.delete(tableName, "id=?", new String[]{id});
}

/**
  * 根据id修改操作
  */
public void update(ContentValues cv,String id){
  db.update(tableName, cv, "id=?", new String[]{id});
}
}

ContentValues 键值对中键值和数据库中的字段名保持一致,查询时返回的是Cursor数据源