sqlite 数据库的操作
********创建***********import android.content.Context;import android.database.sqlite.SQLiteDatabase;import android.database.sqlite.SQLiteOpenHelper;import android.database.sqlite.SQLiteDatabase.Cursor
********创建***********
import android.content.Context;
import android.database.sqlite.SQLiteDatabase;
import android.database.sqlite.SQLiteOpenHelper;
import android.database.sqlite.SQLiteDatabase.CursorFactory;
public class DataBaseOpenHelper extends SQLiteOpenHelper {
public static final String DATABASE_NAME = "my.db";
/**
* @param context 上下文
* @param name 数据库的名称
* @param factory 游标工厂 --CursorFactory factory一般情况下是不需要指定的
* @param version 版本 当我们的版本号更新的时候系统会自动调用onCreate(SQLiteDatabase db)这个方法
*
*/
public DataBaseOpenHelper(Context context,int version) {
super(context, DATABASE_NAME, null, version);
}
/**
* 1. 这个方法用于初始化数据库表,表结构的创建
*/
@Override
public void onCreate(SQLiteDatabase db) {
db.execSQL("CREATE TABLE person (personid integer primary key autoincrement, name varchar(20), age integer)");
}
/**
* 当版本号更改的时候会调用这个方法 @Override
*/
public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) {
db.execSQL("DROP TABLE IF EXISTS person");
onCreate(db);
}
}
********操作***********
import java.util.ArrayList;
import java.util.List;
import android.database.Cursor;
import android.database.sqlite.SQLiteDatabase;
import cn.itcast.domain.Person;
import cn.itcast.sqlite.opendb.DataBaseOpenHelper;
public class DataBaseService {
private DataBaseOpenHelper opendb;
private SQLiteDatabase db ;
public DataBaseService(DataBaseOpenHelper opendb) {
this.opendb = opendb;
db = this.opendb.getReadableDatabase();
}
public void save(Person person) {
db.execSQL("insert into person(name,age) values(?,?)",new Object[]{person.getName(),person.getAge()});
}
public void delete(Integer id) {
db.execSQL("delete from person where personid=?",new Object[]{id});
}
public void update(Person person) {
db.execSQL("update person set name=?,age=? where personid=?",new Object[]{person.getName(),person.getAge(),person.getId()});
}
public Cursor getCursor(int firstResult,int maxResult) {
Cursor cursor = db.rawQuery("select personid as _id,name,age from person limit ?,?",new String[] {firstResult+"",maxResult+""} );
return cursor;
}
public Person getPerson(Integer id) {
Person person = null;
Cursor cursor = db.rawQuery("select * from person where personid=?",new String[] {id+""} );
while(cursor.moveToNext()) {
person = new Person();
person.setId(id);
person.setName(cursor.getString(cursor.getColumnIndex("name")));
person.setAge(cursor.getInt(cursor.getColumnIndex("age")));
}
return person;
}
public List<Person> findPersons(int firstResult,int maxResult) {
List<Person> persons = new ArrayList<Person>();
Person person = null;
Cursor cursor = db.rawQuery("select personid as _id,name,age from person limit ?,?",new String[] {firstResult+"",maxResult+""} );
while(cursor.moveToNext()) {
person = new Person();
person.setId(cursor.getInt(cursor.getColumnIndex("personid")));
person.setName(cursor.getString(cursor.getColumnIndex("name")));
person.setAge(cursor.getInt(cursor.getColumnIndex("age")));
persons.add(person);
}
return persons;
}
public long getCount() {
Cursor cursor = db.rawQuery("select count(*) from person",null);
cursor.moveToFirst();
return cursor.getLong(0);
}
}
更多推荐
所有评论(0)