Android SQLite基本操作

在我的上一篇博客《andorid SQLite简介》中对SQLite的作用、特点等做了一个简单的介绍,这篇博客向大家介绍一下它的基本操作。

SQLiteDatabase类也专门提供了一些函数来操作数据库,有 insert,delete,update,query(),不过这些函数需要的参数比较多,适合对SQL语句不太懂的新手使用,如果想提高自己的水平,那么最好使用exeSQL(),rawQuery()。因为这两个方法比较直观明了、比较省事。

在程序初始化时候,必须先建立数据库以对数据库进行更新,所以这里需要继承一个 SQLiteOpenHelper抽象类,这里有两个方法 onCreate(),onUpgreade()两个方法,前者用来创建数据库及对数据库的一些初始化操作,后者是当数据库版本进行更新时候用。


下面的例子是创建了一个数据库名为:MyDB,版本为1的数据库,并在数据库中创建了一个User表。这里利用了构造函数传入了 数据库名和版本名常量,参数为Context 对象。


public class DatebaseHelper extends SQLiteOpenHelper {
public final static String NAME="MyDB";
public final static int VERSION=1;
public DatebaseHelper(Context context) {
   super(context, NAME, null, VERSION);
}
@Override
public void onCreate(SQLiteDatabase db) {
   db.execSQL("CREATE TABLE User (userID integer primary key autoincrement, userName varchar(20), pwd varchar(12))");
}
@Override
public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) {
  
   db.execSQL("DROP TABLE IF EXISTS User");
   onCreate(db);
}
}
用SQLiteDatabase来操作SQLite数据库。
public class DatebaseService {
private DatebaseHelper dbHelper;
   public DatebaseService(Context context) {
   this.dbHelper = new DatebaseHelper(context);
}
//保存数据。
public void save(User user){
   SQLiteDatabase db=dbHelper.getWritableDatabase();
   db.execSQL("insert into user(userName,pwd) values(?,?)", new Object[]{user.getName(),user.getpwd()});
    
    }
//更新数据
    public void update(User user){
    SQLiteDatabase db=dbHelper.getReadableDatabase();
    db.execSQL("update user set userName=?,pwd=? where userID=?", new Object[]{user.getuserName(),user.getpwd(),user.getuserID()});
    }
//查找数据
    public User find(Integer userID){
    SQLiteDatabase db=dbHelper.getReadableDatabase();
    Cursor cursor=db.rawQuery("select * from User where userID=?",new String[]{userID.toString()} );
    while(cursor.moveToNext()){
       String name=cursor.getString(cursor.getColumnIndex("userName"));
       int pwd=cursor.getInt(cursor.getColumnIndex("pwd"));
            int id=cursor.getInt(cursor.getColumnIndex("userID"));
            return new User(id,name,pwd);
           
    }
    return null;
    }
//删除数据
    public void delete(Integer userID){
     SQLiteDatabase db=dbHelper.getReadableDatabase();
     db.execSQL("delete from User where userID=?",new Object[]{userID});
    }
    public Long getCount(){
    SQLiteDatabase db=dbHelper.getReadableDatabase();
    Cursor cursor = db.rawQuery("select count(*) from User", null);
   cursor.moveToFirst();
   return cursor.getLong(0);
    }
当然SQLite的操作还不止这一点,这里只是一些简单的增删改查,还有很多更好的操作应用,将在以后介绍。

你可能感兴趣的:(Android SQLite基本操作)