简体   繁体   English

我正在尝试从数据库中获取数据,它返回给我这个 Future <List<dynamic> &gt; 我该如何迭代这个

[英]i am trying to get data from Database and it returns me this Future<List<dynamic>> how can i iterate this

i am trying to get data from Database and it returns me this Future<List> how can i iterate this to get a specific row or data我正在尝试从数据库中获取数据,它返回给我这个 Future<List> 我如何迭代它以获取特定的行或数据

ElevatedButton(
          onPressed: () async {
            var result = DatabaseHelper.instance
                .readNote("SELECT name FROM users where name='ali'");
            result.forEach((row) => print(row));
            // print(getdata[0].toString());
          },
          child: Text('Run'),
        ),

this is my DB Helper class这是我的数据库助手类

import 'dart:io';

import 'package:flutter/services.dart';
import 'package:path/path.dart';
import 'package:sqflite/sqflite.dart';

class DatabaseHelper {
  static final DatabaseHelper instance = DatabaseHelper._init();

  static Database? _database;

  DatabaseHelper._init();

  Future<Database> get database async {
    if (_database != null) return _database!;

    _database = await _initDB('sample.db');
    return _database!;
  }

  Future<Database> _initDB(String filePath) async {
    final dbPath = await getDatabasesPath();
    final path = join(dbPath, filePath);
    final exist = await databaseExists(path);
    if (exist) {
      print('Database Already Exsit');
      await openDatabase(path);
    } else {
      print('New Database created from Assets');
      try {
        await Directory(dirname(path)).create(recursive: true);
        print('DB Created');
        ByteData data = await rootBundle.load(join("assets", "sample.db"));
        List<int> bytes =
            data.buffer.asInt8List(data.offsetInBytes, data.lengthInBytes);
        await File(path).writeAsBytes(bytes, flush: true);
        print('DB Coppied');
      } catch (e) {
        print(e);
      }
    }

    return await openDatabase(path);
  }

  Future<List> readNote(String query) async {
    final db = await instance.database;

    final maps = await db.rawQuery(query);

    return maps;
  }

  Future close() async {
    final db = await instance.database;
    db.close();
  }
}

Note: I am using the sample.db file from assets and then want to replace it with SQFLITE Database which is working fine but I can able to get data from that注意:我正在使用资产中的 sample.db 文件,然后想用 SQFLITE 数据库替换它,该数据库工作正常,但我可以从中获取数据

Database Structure Screenshot数据库结构截图

You have to wait for that future to complete, then perform your operations.你必须等待那个未来完成,然后执行你的操作。

ElevatedButton(
          onPressed: () async {
            var result = await DatabaseHelper.instance
                .readNote("SELECT name FROM users where name='ali'");
            result.forEach((row) => print(row));
            // print(getdata[0].toString());
          },
          child: Text('Run'),
        ),


暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

相关问题 如果我使用Java查询,如何合并来自mssql数据库和mysql数据库的数据? - How can I combine data from a mssql database and a mysql database if I am querying in Java? 如何将数据从表单模型获取到Django中的数据库中 - How can I get data from a form model into a database in Django 如何从网站获取数据并将其传输到数据库? - How can I get data from a website and transfer it to a database? 如何从Laravel中的数据库获取数据? - How can I get data from database in laravel? 我正在尝试使用 get() 方法更新数据库中的数据,但 get() 在 django 中没有更新 - I am trying to update data in database using get() method, but get() doesn't update in django 在哪里可以找到我尝试使用 Hibernate 访问的数据库? - Where can I find the database that I am trying to access with Hibernate? 我正在尝试使用Sails js从数据库的相关表中获取数据。 但是我总是得到不确定的错误。 谢谢 - I am trying to get data from the related tables in the database using sails js. But I always get undefined error. Thank you 我正在尝试将 firebase 实时数据库中的数据检索到我的 recyclerview 中,但数据显示 null - I am trying to retrieve data from firebase realtime database into my recyclerview but data is showing null 我正在尝试从简单的listView中的.db文件导入数据,但我的应用程序未显示任何文本。如何解决这个问题? - I am trying to import data from a .db file in a simple listView but my application is not displaying any text.How can i resolve this? 如何根据所选语言从数据库中获取动态数据。? - How can i fetch dynamic data from database based on selected language.?
 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM