问题标签 [sqflite]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
flutter - 输入'未来' 不是类型 'Future 的子类型>'
- >'
一段时间以来一直在使用此代码,尝试在颤振中创建历史数据库。似乎无法找到 Future 的问题。
任何帮助将不胜感激!
先感谢您!
构建 HistoryPage(dirty, state: _HistoryPageState#3d447): I/flutter (25281): type 'Future' is not a subtype of type 'Future>'
database - 正确使用 onUpgrade 回调升级数据库
我正在从网站 (JSON) 获取数据并将其保存在数据库中。这很好用。但是,每次从 Internet 获取的数据发生变化时,我都想用新的版本号升级数据库。为此,我认为最好的方法是删除表,升级数据库编号版本并在用新数据填充表之前重新创建表(至少有一种方法只插入新记录并只更新旧记录)改变)。
我看到它可以通过sqflite插件onUpgrade
的数据库回调来完成。
因此,我创建了一个Helper
使用init()
打开数据库的方法。但是,我不明白何时onUpgrade
调用回调。实际上,在下面的这段代码中,version
总是为 1。
我想有一个方法来初始化数据库和:
- 如果它不存在则创建它或
- 如果未指定数字版本(类似),则打开当前版本或
- 通过自动增加版本号(例如通过调用 database.upgrade())升级到新版本。
您认为这可以通过一种独特的方法实现,还是我需要将其分成两种方法?如果是,onUpgrade
回调的意义何在?
最好的
flutter - (Flutter/Dart) initState 中的两个异步方法不起作用
function
我有一个initState
:
这function
很简单。它有两个async
await
操作sqflite
,其中一个等待另一个在其中完成:
我必须等待number
被获取,然后我才能获取 serialized List
,然后我反序列化并填充然后添加List
到ListView
.
问题是,这在initState
. 通过按钮调用它时工作正常onPressed()
,但在initState
.
注意事项:
1)没有抛出错误
2)我已经尝试过更保守的替代方案await
,即使rawFavouriteList
通过单独的函数使用 for ,就像wait()
在使用setState()
top 填充之前一样_favouriteList
,即使它通过按钮手动工作正常。
3)如果我在第二个数据库查询中手动输入number
值并删除第一个查询,则一切正常,即
flutter - 异步和等待任务花费太多时间
我需要在登录前调用所有 API 并存储本地数据库。我使用了 sqflite 插件。无法添加后台运行,这就是我使用 await 的原因。
进程完成后第一次运行 storeRegister() 然后同样运行 storeEquipmentReg。
按钮 onPressed():
示例 storeCategoryDefect 方法:(所有其他代码相同)
sql - 从数据库中获取数据并填充分区列表
从前端的角度以及从 SQLite 数据库查询数据,我都对此感到困惑。如果您知道如何解决其中任何一个问题,请回答。
SQLite 数据库
我有一张这样的桌子:
现在我想在我的颤振应用程序的列表中以 5 个单元为一组(即完成 5 个单元的组)显示这些数据。
所以第一组将有8个项目,
第二个将有6个项目,
第三组将有 5 个项目(并且仍然不完整,因为可以添加更多项目,直到该组的数量变为 5)
像这样的东西:
现在我的应用程序可以有多个这样的组。另外,我不认为网格视图构建器可以在这里工作,因为对于每个组,我必须显示该组的一些数据以及累积的数据(图中未显示)
问题:
1) 如何从 SQFLite 数据库中查询数据?
2) 如何在我的 Flutter App 前端显示查询到的数据?
database - 我应该在颤振模型中包含外键列吗?
我在 sqflite 数据库中创建了两个表,如下面的代码。
并为这两个表创建了模型,
1. 第一张表的模型
2. 第二张桌子的型号
问:我应该在第二个模型中包含外键列吗?如果任何数据类型错误,请纠正我。
提前致谢....
android - 设置 sqflite 数据库表时缺少列
我目前正在使用颤振框架开发一个android应用程序。为了设置数据库,我使用 sqflite 插件。
设置数据库的工作如下:
这按预期工作并使用表创建数据库。我对这个话题很陌生,所以我不知道你是否能以某种方式看到创建的表的结构。我尝试通过在其中插入设备来测试新表:
调用函数insertDevice时,我收到以下错误消息:
其他列似乎有效,因为在toMap()函数中注释掉参数ip时插入有效,插入设备时不会出错。
我在这里想念什么?任何帮助是极大的赞赏。
database - 如何在颤动中从插入到 sqflite 数据库中返回 id
我有 2 个数据库。一个用于文件夹,一个用于笔记。文件夹数据库包含id列表的标题和json字符串。id应该代表第二个笔记数据库。基本上文件夹需要包含一个笔记列表,这是我迄今为止发现的最好的方式。我的问题是,当我创建一个新便笺并将其插入数据库时,我不确定如何取回新便笺的 id。
如果我在创建笔记时设置了 id,那么所有笔记都将具有相同的 id。如果我没有设置 id,那么调用 note.id 会返回 null。根据我的创建函数,注释的 id 应该自行设置(id INTEGER PRIMARY KEY AUTOINCREMENT)
我的想法是,在创建新 Note 时,我会以某种方式返回 int id,以便我可以轻松地将其插入文件夹中。这是我到目前为止所拥有的。
sql - 如何在不丢失外键的情况下合并两个sqlite数据库?
我正在开发用于学习外语的移动应用程序使用flutter
和sqflite
包装。该应用程序具有sqlite
包含单词表和某种集合(多对多关系)的数据库。此数据存储在应用程序资产中,并在安装应用程序时加载到移动数据库目录,如 sqflite 指南https://github.com/tekartik/sqflite/blob/master/sqflite/doc/opening_asset_db.md
用户可以添加自己的文字和收藏,以及我希望能够填充或改变我的。我曾经认为我可以做到这一点,sqlite upsert
但如果用户添加了与我在应用程序更新中所做的相同的词,就会出现冲突。如果我这样做了,upsert
那么这个词就不会出现在我的单词集中,因为它们受 id 约束,否则,如果我这样做replace
,然后单词从用户的收藏中消失。
我想我需要某种级联 id 更新sqlite insert or replace
,但没有这样的功能。
请问有什么想法吗?
sql - 如何将数据导入到sembast flutter?
我正在开发移动应用程序,现在正在选择一个数据库。我正在考虑sembast
(https://pub.dev/packages/sembast#-readme-tab-),但没有关于将数据导入(预加载)到数据库的信息。有人知道吗?我应该将带有数据的 csv 或 json 文件添加到资产中,然后以某种方式将其加载到数据库中吗?相比之下,有来自同一作者的 sqflite 包(https://pub.dev/packages/sqflite#-readme-tab-),在这里我可以将 sqlite 数据库添加到资产,然后将其导入项目。