2018-03-07 数据库

笔记如下
public class MySqliteHelper extends SQLiteOpenHelper {

    public MySqliteHelper(Context context) {
        // context :应用上下文 
        // name : 数据库的名称 
        // factory :  创建游标的工厂  
        // version :  数据库的版本 
        
        super(context, "mydb1", null,1);
    }
    ..............

    // 在 数据库 首次 被 创建时 会调用
    @Override
    public void onCreate(SQLiteDatabase db) {
     }
    
    // 在 数据库  升级时 会调用  -- 当 版本 比 之前的版本 高 的时候 就  会执行这个方法 
    // 这里 可以 去 修改表的结构
    
    @Override
    public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) {
    }

}
  • MainActivity
 MySqliteHelper helper = new MySqliteHelper(MainActivity.this);
        
//        helper.getWritableDatabase();//才创建数据库文件
        helper.getReadableDatabase();

查询操作

public Student find(String id){
        
        SQLiteDatabase db = helper.getReadableDatabase();
        
        // select * from users where id=?
        
        //叫做 游标
        Cursor cursor = db.rawQuery("select * from students where _id=?", new String[]{id});
        
        boolean result = cursor.moveToNext();
        
        Student st = null;
        if(result){
//          st = new Student();
            /*int _id = cursor.getInt(0);
            String name = cursor.getString(1);
            String sex = cursor.getString(2);
            st.setId(id);
            st.setName(name);
            st.setSex(sex);*/
            
            int _id = cursor.getInt(cursor.getColumnIndex("_id"));
            String name = cursor.getString(cursor.getColumnIndex("name"));
            String sex =  cursor.getString(cursor.getColumnIndex("sex"));
            
            st = new Student(String.valueOf(_id),name,sex);
            
        }
        
        // 最后会释放 资源 
        cursor.close();
        
        return st;
    }

你可能感兴趣的:(2018-03-07 数据库)