先上代码:
dbHelper = new DatabaseHelper(Alarm.this, "idea.sql"); SQLiteDatabase db = dbHelper.getReadableDatabase(); Cursor cursor = db .query("user", new String[] {"_id","mtext","mtime"}, "_id=?", new String[] {NoteActivity.AlarmIndex+""}, null, null, null); if(cursor.moveToFirst()){ mtime = cursor.getString(cursor.getColumnIndex("mtime")); mtext = cursor.getString(cursor.getColumnIndex("mtext")); } db.close();
另:需要注意的是为啥要cursor.moveToFirst(),这是因为android 中数据库处理,特别是使用cursor时,注意初始位置是从下标为-1的地方开始的,也就是说一次查询中,返回给cursor查询结果时,不能够马上从cursor中提取值。不然会出现这样的错误:CursorIndexOutOfBoundsException
附加:关于cursor中db.query中的几个参数说明:
db.query(table, columns, selection, selectionArgs, groupBy, having, orderBy);
①table:表名称
②columns:列名称数组
③selection:条件字句,相当于where
④selectionArgs:条件字句,参数数组
⑤groupBy:分组列
⑥having:分组条件
⑦orderBy:排序列