Android应用开发---关于SQL中通过cursor获取指定id的内容

先上代码:

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:排序列



你可能感兴趣的:(Android应用开发)