首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >未创建Sqflite表

未创建Sqflite表
EN

Stack Overflow用户
提问于 2021-11-01 10:32:44
回答 1查看 121关注 0票数 0

我正在构建一个简单的应用程序,这需要在一个数据库中的两个表。为了创建表和数据库,我使用以下语法->

代码语言:javascript
复制
import 'package:sqflite/sqflite.dart' as sql;
import 'package:path/path.dart' as path;
import 'package:sqflite/sqlite_api.dart';

class DBHelper {
  static Future<Database> database() async {
    final dbPath = await sql.getDatabasesPath();
    
    return sql.openDatabase(path.join(dbPath, 'users.db'),
        onCreate: (db, version) {
      return db.execute(
          'CREATE TABLE user_profile(id TEXT PRIMARY KEY, name TEXT, address TEXT,mobileno TEXT,dob TEXT);CREATE TABLE user_transactions(id TEXT PRIMARY KEY, date TEXT, amount TEXT,cart TEXT)');
    }, version: 1);
  }

当我执行一个将数据添加到表' user_transactions‘的方法时,它给我一个错误,如'E/SQLiteLog(24687):(1)没有这样的表:user_transactions’。获取数据和将数据添加到user_profile工作得非常好。我还在sqlite的db浏览器中执行了sql查询,没有发现任何错误。我还尝试卸载应用程序并安装again.Please帮助。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2021-11-03 12:17:18

我认为在SQLite中创建多个表的最佳解决方案是这样而不是您的:

代码语言:javascript
复制
class DBHelper {
Future<Database> database() async {
return openDatabase(
  join(await getDatabasesPath(), 'users.db'),
  onCreate: (db, version) async {
    await db.execute(
        "CREATE TABLE user_profile(id TEXT PRIMARY KEY, name TEXT, address TEXT,mobileno TEXT,dob TEXT)");
    await db.execute(
        "CREATE TABLE user_transactions(id TEXT PRIMARY KEY, date TEXT, amount TEXT,cart TEXT)");
    return db;
  },
  version: 1,
);}
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/69795674

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档