android SQLiteOpenHelper读取数据

拿到手的代码是别人写好需要我再修改的,所以只记录一下我做的读取数据的工作。
工程中已经完成的是新建了一个继承了SQLiteOpenHelper的类DatabaseHelper。
在需要调用数据库的activity中,首先引用DatabaseHelper新建一个对象helper,然后我写了一个方法获取数据:

    public String getInformation(DatabaseHelper helper,String index) {
        SQLiteDatabase db = helper.getReadableDatabase(); 
        String result = "";
        String[] whereArgs=new  String[]{ UserID };
    /*query是谷歌提供的一个类,在这里我调用的完整语句及参数是:query(String table, String[] columns, String selection,String[] selectionArgs, String groupBy, String having,String orderBy),每个参数的含义是:
    table:查询的表名;
    columns:需要返回的列,如果是null就是返回所有列;
    selection:和后面的参数selectionArgs一起构成查询的条件,在这里使用的是userid;
    selectionArgs:在这里表示的是返回所有userid这一列的内容是“UserID”的列;
    剩下三个参数我没有用到,也就不说了
*/
        Cursor cursor=db.query("contacts", null, "userid=?" ,whereArgs, null, null, null);
    /*我对于cursor的理解是它相当于一个数据集,有点像MySQL里面的结果集一样需要遍历,但是据说cursor开始的时候总是指向最后一个,所以首先要调用moveToFirst()移到第一行,否则会报错android.database.CursorIndexOutOfBoundsException:Index -1 requested*/
        for (cursor.moveToFirst();!(cursor.isAfterLast());cursor.moveToNext()) {  
        //index就是创建表的时候的列名,要先得到这一列的Index,再使用Index获得对应的值
        int Index = cursor.getColumnIndex(index);
        result=cursor.getString(Index);//}
        }
        cursor.close();//关闭结果集  
        db.close();//关闭数据库对象  
        return result;
    }

最后调用上面的方法就可以给String类型的变量赋值,比如:

private String sex;
sex=getInformation(helper,"sex");

如果有哪里写得不对欢迎指正。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值