android - 如何将 .sql 文件导入 android room 数据库?
问题描述
有谁知道如何通过房间将下载的sql文件导入android数据库?我在 android 手机中有一个从 mysql 数据库导出的 .sql 文件。我想将 .sql 文件导入到 android sql 数据库。我尝试使用 android JetPack 的房间。我查看了官方网站:https ://developer.android.google.cn/training/data-storage/room/creating-views 但是没有找到方法。
我的 .sql 文件中的内容如下:
DELETE FROM NewsInfo WHERE id = '20210524210624';
INSERT INTO NewsInfo VALUES ('20210524210624','2','aaa','bbb',3,'','','','en','push','2021-05-24 21:06:24');
那么有人知道如何将下载的 sql 文件导入到 Android 上的房间吗?
提前致谢
解决方案
我知道的最好方法是从具有 execSQL() 函数的 Room 中检索实际的 db 对象。并在每行的 .sql 文件中流式传输db.execSQL(line);
(编辑) 如果我知道这些信息不容易获得,我会发布示例,但我自己实际上找不到。
RoomDatabase database = ...
SupportSQLiteDatabase db = database.getOpenHelper().getWritableDatabase();
db.beginTransaction();
db.execSQL(line);
db.endTransaction();
推荐阅读
- android - 房间数据库关系不适用
- c# - Visual Studio 2019 的 process.MainWindowTitle 为空
- javascript - 在这种情况下如何将状态变量作为字符串传递?
- android - 错误:不兼容的类型:Intent 无法转换为 Intent[]
- c++ - C++:使用向量和迭代器时出现错误:std::bad_alloc
- c# - 使用 Asp.net/C# 使用 USB 令牌对文本文件进行数字签名?
- python - 如何在 python 正则表达式中对日期匹配应用验证
- html - 长标题文本表无法修复
- regex - “查找和替换”中的正则表达式;如何匹配 \n (换行符)?
- x86 - 为什么在 x86 处理器中触发 NMI 信号边缘,而触发 INTR 信号电平?