日期:2014-05-16  浏览次数:20525 次

Android开发—数据库应用—访问数据表(SQLite OpenHelper) —添加检索操作(Retrieve)

/* (程序头部注释开始)
* 程序的版权和版本声明部分
* Copyright (c) 2011, 烟台大学计算机学院学生
* All rights reserved.
* 文件名称:数据库应用—添加检索操作(Retrieve)

* 作 者: 雷恒鑫
* 完成日期: 2012 年 08 月 14 日
* 版 本 号: V1.0
* 对任务及求解方法的描述部分
* 输入描述:
* 问题描述:
* 程序输出:

* 程序头部的注释结束

*/

 

 

以前用过的“db.rawQuery”语句可以用来直接做SQL查询(程序如下),

public Cursor getall() {  
       return db.rawQuery("SELECT * FROM notes", null);  
  
    }  

并返回查询结果的指针,如果想实现检索功能,可以再程序中使用更具弹性的“query”方法,来替换直接执行“SQL”语句的“rawQuery”方法。

 

修改后的“DummyDbAdapter.java”文件如下:

package com.demo.android.dummynote;

import android.content.Context;
import android.database.Cursor;
import android.database.SQLException;
import android.database.sqlite.SQLiteDatabase;
import android.database.sqlite.SQLiteOpenHelper;
import android.database.sqlite.SQLiteDatabase.CursorFactory;

public class NotesDbAdapter {
	private static final String DATABASE_NAME = "notes.db";
	private static final int DATABASE_VERSION = 1;
	private static final String DATABASE_TABLE = "notes";
	private static final String DATABASE_CREATE = "creat table notes("
			+ "_id INTEGER PRIMARY KEY," + "note TEXT," + "created INTEGER,"
			+ "modified INTEGER" + ");";

	private static class DatabaseHelper extends SQLiteOpenHelper {
		public DatabaseHelper(Context context) {
			super(context, DATABASE_NAME, null, DATABASE_VERSION);
			// TODO Auto-generated constructor stub
		}

		@Override
		public void onCreate(SQLiteDatabase db) {
			// TODO Auto-generated method stub
			db.execSQL(DATABASE_CREATE);

		}

		@Override
		public void onUpgrade(SQLiteDataba