开发者社区> 问答> 正文

怎样在程序中读取已经建好的数据库?:报错

  假设我已经用工具建好了一个SQLite数据库为:Books.db,里面有一个表叫:book。

  那我如果要在程序中将book表中的数据读取出来,该怎样写这函数?

  是继承SQLiteOpenHelper类然后在里面进行操作吗?可以该怎样写呢?

  那个建好的数据库文件放在应用的包的哪里?是新建一个叫databases的文件夹,然后把数据库文件放进去吗?

   哪位高手可以指教一下吗?

  @红薯

   

/**
 * 主要用以对数据库进行相关数据的查询
 * @author Aboo
 *
 */
public class LibraryBookDatabaseHelper extends SQLiteOpenHelper {

	/**
	 * 保存的数据库文件名
	 */
	public static final String DB_NAME = "Books.db"; 
	/**
	 * 包名
	 */
	public static final String PACKAGE_NAME = "com.aboo.library";
	/**
	 * 存放数据库路径
	 */
	public static final String DB_PATH = "/data"
	             + Environment.getDataDirectory().getAbsolutePath() + "/"
	             + PACKAGE_NAME+"/databases";
	
	public LibraryBookDatabaseHelper(Context context, String name,
			CursorFactory factory, int version) {
		super(context, name, factory, version);
		// TODO Auto-generated constructor stub
	}

	@Override
	public void onCreate(SQLiteDatabase db) {
		// TODO 创建数据库后,对数据库的操作

	}

	@Override
	public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) {
		// TODO 更改数据库版本的操作

	}

	@Override
	public void onOpen(SQLiteDatabase db) {
		// TODO 每次成功打开数据库后首先被执行
		super.onOpen(db);
		SQLiteDatabase.openOrCreateDatabase(DB_PATH, null);
	}

}

展开
收起
kun坤 2020-06-14 09:34:15 575 0
1 条回答
写回答
取消 提交回答
  • 可以放在asserts下面,

    private final static String DATABASE_PATH = android.os.Environment .getExternalStorageDirectory().getAbsolutePath() + "/database"; private static String DATABASE_FILENAME = "Books.db";String databaseFilename = DATABASE_PATH + "/" + DATABASE_FILENAME;db = SQLiteDatabase.openOrCreateDatabase(databaseFilename, null); 大概的思路应该是这样子吧。新建文件前,自己先加一些判断,看是否存在文件,不存在就new个出来

    2021-02-19 22:15:28
    赞同 展开评论 打赏
问答排行榜
最热
最新

相关电子书

更多
DTCC 2022大会集锦《云原生一站式数据库技术与实践》 立即下载
阿里云瑶池数据库精要2022版 立即下载
2022 DTCC-阿里云一站式数据库上云最佳实践 立即下载