先上代码:
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();
其中:NoteActivity.AlarmIndex中的AlarmIndex是public class NoteActivity extends Activity 中的静态变量:static int AlarmIndex = 0;
这样,在其他类中就可以应用该数据了。
另:需要注意的是为啥要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:排序列