1
resposta

No such Table

import 'package:sqflite/sqflite.dart';

import 'package:vida_natural_project/Cadastro/produto.dart';

import '../database.dart';


class ProductDao {

  static const String tableSql = 'CREATE TABLE $_tableName('

      '$_id INTEGER PRIMARY KEY, '
      '$_nome TEXT, '
      '$_venda DECIMAL(6,2), '
      '$_custo DECIMAL(6,2), '
      '$_peso INT(8), '
      '$_codigo INT(13), '
      '$_quantidade INT(20) )';

  static const String _tableName = 'produtos';

  static const String _id = 'id';

  static const String _nome = 'nome'; 

  static const String _venda = 'venda';

  static const String _custo = 'custo';

  static const String _peso = 'peso'

  static const String _codigo = 'codigo';

  static const String _quantidade = 'quantidade';

  Future<int> save(Produto produto) async {

    final Database db = await getDatabase();

    Map<String, dynamic> produtoMap = _toMap(produto);

    return db.insert(_tableName, produtoMap);

  }

  Future<List<Produto>> findAll() async {

  final Database db = await getDatabase();

  final List<Map<String, dynamic>> result = await db.query(_tableName);

  List<Produto> produtos = _toList(result);

  return produtos;

  }

  Map<String, dynamic> _toMap(Produto produto) {

    final Map<String, dynamic> produtoMap = Map();

    produtoMap[_nome] = produto.nome;

    produtoMap[_venda] = produto.venda;

    produtoMap[_custo] = produto.custo;

    produtoMap[_peso] = produto.peso;

    produtoMap[_codigo] = produto.codigo;

    produtoMap[_quantidade] = produto.quantidade;

    return produtoMap;

  }

  List<Produto> _toList(List<Map<String, dynamic>> result) {

    final List<Produto> produtos = List();

    for (Map<String, dynamic> row in result) {

      final Produto produto = Produto(

        row[_id],

        row[_nome],

        row[_venda],

        row[_custo],

        row[_peso],

        row[_codigo],

        row[_quantidade],

      );
      produtos.add(produto);

    }
    return produtos;

  }

}
1 resposta

Fala Daniel, tudo certo?

Em qual das linhas ele não está conseguindo acessar a tabela? Se for na criação ou na inserção, experimente trocar o nome da tabela.

Quer mergulhar em tecnologia e aprendizagem?

Receba a newsletter que o nosso CEO escreve pessoalmente, com insights do mercado de trabalho, ciência e desenvolvimento de software