android SQLiteOpenHelper读取数据

来源:互联网 发布:永久免费mysql数据库 编辑:程序博客网 时间:2024/05/22 00:02

拿到手的代码是别人写好需要我再修改的,所以只记录一下我做的读取数据的工作。
工程中已经完成的是新建了一个继承了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");

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

原创粉丝点击