问题标签 [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.

0 投票
1 回答
639 浏览

flutter - 在flutter中使用sqflite单击按钮时如何显示数据库的记录?

我有一个警报框,其中有 3 个字段:标记名、模型名、类型 现在我已经创建了一个数据库和一个表。当我填写所有 3 个字段并单击提交按钮时,它应该使用这些新值更新现有表

这是我的班级设备:

这是我创建的数据库和表:

这是我执行插入操作的地方:

这是为了生成列表:

单击此按钮时,新值应更新为现有表:

0 投票
0 回答
55 浏览

sqlite - 如何在我的代码 sqlite 中解决这个问题

我的代码中有一个问题,在 database_helper.dart 中午餐时出现错误

database_helper.dart 是 Sqlite 存储数据学习项目中的一个文件,我遇到了这个问题,我尝试了很多解决方案,比如卸载应用程序并重新安装。

我已经编辑了我的问题并添加了另一个名为 User.dart 的代码,我希望你能找到解决这个问题的方法,我真的被卡住了

这是错误日志

DataBaseHelper 调用的其他代码——user.dart

0 投票
2 回答
7496 浏览

flutter - (更新:如何存储列表sqflite 中的数据类型) sqflite 错误:DatabaseException(java.lang.String 无法转换为 java.lang.Integer)

我有一个 sqflite 数据库,其中设置了一个表,其中除了唯一键设置为 BLOB 数据类型的所有列之外。目的是存储为二进制数据。我对飞镖和颤振很陌生,所以我尽量保持简单。我有int, double, String, List<String>,Map<String:String>DateTime数据进入这些列。我使用的是 .insert() 函数,而不是 .rawInsert() 函数。

在我的TEST 应用程序中,字符串或 int 作为 BLOB 数据类型进入表中没有任何问题。我使用完全相同的代码来插入,只是具有不同列的不同对象。在我为生产而构建的应用程序中,它有更大、更长的字符串(如 base 64 中的图像)和更大的整数,我得到了错误。

奇怪的是,我有类型检查代码,它将我从服务器获取的所有整数数据转换为实际的整数数据……整数不可能是整数。每个值都通过一个只能抛出或返回整数的函数。

那么数据库将如何获取它试图转换为整数的字符串呢?

我不是在寻求解决方案,而是我应该采取的其他故障排除步骤,因为我可能会因为大脑疲劳或缺乏经验而错过。我遇到了各种各样的障碍。

这是引发异常的堆栈跟踪:

以下是一些涉及的功能:

这是数据库中使用的产品模型

更新:

我将生产代码模型中表示的所有数据类型添加到我的测试应用程序模型中,并且能够复制错误。请参阅顶部的测试应用程序链接。我一一删除了新的数据类型,直到错误消失,并且能够发现是 List 数据类型产生了这个错误。我仔细检查了地图,这不会造成任何麻烦。

所以,精致的问题:如何使用 sqflite 存储字符串列表?我不想把它存储为原始的 JSON 字符串......那会很糟糕......

0 投票
2 回答
579 浏览

flutter - 如何使用 Where 条件从数据库中选择行数?

如何使用 where 条件从数据库中获取行数?未定义 where 和 whereArgs 参数并且在查询中写入变量不起作用

在获取行

行 == 0

0 投票
4 回答
71 浏览

flutter - 我需要将一些存储在数据库中的数据发送到 API 吗?

这是我存储在数据库中的数据

[{count:3,minced:0,category_id:3,size_id:63,chops_id:null,cookie_id:null,choole:null,notes:},{count:4,minced:0,category_id:3,size_id:62 ,chops_id:null,cookie_id:null,choole:null,notes:},{count:2,minced:2,category_id:2,size_id:49,chops_id:8,cookie_id:8,choole:2,notes:bzbznzjz} ]

以及我需要发送给 API 的内容

[{"size_id":59,"count":2,"category_id":2,"chops_id":null,"cookie_id":null,"choole":null,"notes":"jgg","minced": 0},{"size_id":63,"count":3,"category_id" :2,"chops_id":4,"cookie_id":8,"choole":2,"notes":"tvv","minced “:1}]

我需要将此“”添加到我的密钥中,我该怎么做?这就是我的代码

0 投票
1 回答
77 浏览

database - 具有迁移策略的开放资产数据库

我按照本指南打开资产数据库打开资产数据库并将其复制到我的文件系统,但使用“readOnly:true”,因为我希望用户修改应用程序内的数据库。

这非常有效。

但后来我想修改资产数据库,例如添加新行、列或表,甚至更改特定现有列的值。当我这样做时,我想用修改后的资产数据库更新文件系统中复制的数据库。为此,我使用 onUpgrade。

我只知道如何在版本更改后删除文件系统中的数据库,但我不想删除用户所做的数据库中的更改。如何将新资产数据库与文件系统中的数据库合并?如何添加新表、列或行?我怎样才能更换一列?

0 投票
1 回答
109 浏览

flutter - SQLiteLog( 8646): (1) table tempsettings has no column named user

I'm learning how to upgrade databases in an flutter application, apears to be very simple, but I'm getting this error executing an INSERT:

E/SQLiteLog( 9107): (1) table tempsettings has no column named user I/flutter ( 9107): DatabaseException(table tempsettings has no column named user (code 1 SQLITE_ERROR): , while compiling: INSERT INTO tempsettings('id', 'user', 'company', 'url') SELECT 'id', 'user', 'company', 'url' FROM settings) E/SQLiteLog( 9107): (1) no such column: user I/flutter ( 9107): DatabaseException(no such column: user (code 1 SQLITE_ERROR): , while compiling: INSERT INTO settings('id', 'user', 'company', 'url', 'theme') SELECT id, user, company, url, 1 FROM tempsettings)

Does anyone could help me how to do this INSERT?

Thanks.

0 投票
1 回答
1111 浏览

sqlite - 在 Flutter 中捕获 DatabaseException

我想知道如何处理并成功捕获我的数据库异常。我的 Sqlite 数据库中有一个主键 ID 和另一个名为 name 的键。我使用颤振插件 sqflite。我想处理当我的数据库中已经有一个具有给定 ID 的条目的情况,我想显示 ID 已经存在,因为我想知道如何处理异常。

我试图将代码包围在 try catch 块中,但我无法让 FLutter 意识到 DatabaseException 类,它给了我一个错误,说“DatabaseException”不是一种类型,不能在 catch 子句中使用。在按下按钮后,我想在我的数据库中添加一个新的主题,如果用户输入与已经存在的 ID 值相同的 ID 值,我想处理该错误。

0 投票
1 回答
2280 浏览

database - Flutter SQLite 没有这样的专栏

我正在开发一个使用 Flutter SQFlite 插件使用 SQLite 数据库的 Flutter 应用程序。问题是当我尝试插入一些测试数据时,应用程序会在控制台中打印以下内容:

据我从日志中了解到,问题出在“dummy_value”列,但真正的问题在于,我的数据库有“id”和“name”列,而“dummy_value”是发送插入的值“名称”列。

以下是我创建数据库的代码:

以下代码用于将数据插入数据库:

最后,以下是我的 Stateful 小部件:

0 投票
1 回答
169 浏览

database - 如何更新数据库项中的特定值?

这是一个待办事项列表应用程序,使用数据库来使用 CRUD 功能。当用户执行特定操作(例如点击或滑动)时,我想将任务标记为完成。我对数据库有点陌生,不确定如何使用更新项来更新任务的状态(已完成或未完成)。

我能否获得关于在_isDone不从数据库中删除任务的情况下更新值的正确方法的建议

试图搜索待办事项列表应用程序的其他示例,但他们删除了已完成的任务而不是将其标记为已完成

数据库代码 -

更新项目功能 -