您可以在查询数据库后从最初是bool的sqlite数据库中解析一个int,然后将其解析回bool吗?

卡特

目前,我正在从创建的sqlite数据库中获取用户,该数据库将在FutueBuilder中使用数据。现在,当我存储User数据时,在sqlite数据库中存储了一个布尔值,因为sqlite不支持布尔类型,因此将其转换为int类型。当我查询用户数据表,然后通过使用User对象将查询到的数据转换为用户对象的函数运行数据时,它出错了,因为该函数需要布尔值,而不是int值。我该怎么办才能解决这个问题?

我在这里查询用户数据表,然后将结果发送到函数以添加到我的用户列表中

  Future<dynamic> getUser() async {
    List _user =[];
    final db = await database;
    var res = await db.query("user");
    if (res.length == 0) {
      return null;
    }
    else {
      var resMap = res[0];
      return _user.add(User.fromJson(resMap));
    }
  }

这是用户模型和函数,它将为我将数据转换为User对象。由于模型期望布尔值,因此在此处存在问题,但是数据库现在将其传递为int,因为它将原始布尔值转换为int。

User userFromJson(String str) => User.fromJson(json.decode(str));


class User {

  bool success;

  String userID;

  String firstName;

  String lastName;

  String email;


  User({this.success, this.userID, this.firstName, this.lastName, this.email});

  factory User.fromJson(Map<String, dynamic> json) {
    return User(
      success: json['success'],
      userID: json['UserID'],
      firstName: json['FirstName'],
      lastName: json['LastName'],
      email: json['Email'],
    );
  }
肯尼迪兹

您可以在User.fromJson函数上放置三元运算符。看一看:

factory User.fromJson(Map<String, dynamic> json) {
    return User(
      success = json['success'] == 1 ? true : false,
      userID = json['UserID'],
      firstName = json['FirstName'],
      lastName = json['LastName'],
      email = json['Email'],
    );
  }

这样,如果值为1,则将值设置为true,如果值为0(或任何其他值),则将值设置为false。

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

我可以使用 R 中的 DBI 库将一个 SQLite 数据库附加到另一个数据库吗?

我可以在另一个SQLite数据库中存储一个SQLite数据库吗?

我可以创建一个可以添加到数据库中的模拟数据库上下文,然后进行搜索吗?

您可以将多个信息位添加到数据库的一个部分中吗?

Mongodb:如何从数据库中获取第一个文档,然后将其删除

我可以为iOS应用和网站使用一个解析数据库吗?-使用Swift

我可以在 mysql 事务中添加一个查询数据库并使用其结果的函数吗?

可以在开发中配置SSIS,然后将其转移到生产数据库中吗?

从数据库中获取一行,从该行中删除一个元素,然后将该行更新回数据库

查询数据库后,从通过getJSON获得的列表中删除一个项目

在任何数据库查询中总是有一个“基表”吗?

在React Native中可以有一个SQL数据库吗?

如何查询数据库中的表并将其数据复制到一个表中?

解析JSON并将其保存在SQLite数据库中

删除应用程序后,Heroku数据库是否存在-我可以将其转移到另一个应用程序吗?

我可以在一个MySQL数据库中使用2个WordPress数据库吗

如何解析此json数据?并将其直接存储在数据库中,然后在listview中显示

Android-java:在解析数据库中查询

哪个是更好的Ready XML数据库或将其转换为SQLite?我可以将转换后的SQLite数据库放在包(.apk)上吗?

两个Codenameone应用程序可以共享一个SQLite数据库吗?

您可以将Matlab数组和结构的复合数据存储和查询到数据库中吗?

可以在 SQLite 数据库中存储时间吗?

Ionic 3 SQLite-将数据库作为私有成员变量与在每个查询中创建一个新数据库?

如何从一个数据库中提取数据,进行操作,然后将其插入Rails中的另一个数据库中?

将单列数据库值放入数组,然后在另一个查询中调用它们

Android SQLite数据库为数据库保留一个表

解析数据库中的存储过程

在Thunderbird中查询SQLite数据库

从数据库中查询,该数据库可能具有一个字段的多个值