MST

星途 面试题库

面试题:Flutter中SQLite数据库创建及插入数据操作

在Flutter项目中,简述如何创建一个SQLite数据库,并向其中一个表插入一条数据。请说明关键步骤及涉及的主要类和方法。
25.1万 热度难度
前端开发Flutter

知识考点

AI 面试

面试题答案

一键面试
  1. 添加依赖: 在pubspec.yaml文件中添加sqflite依赖:
    dependencies:
      sqflite: ^2.2.1
    
    然后运行flutter pub get获取依赖。
  2. 创建数据库
    • 关键类sqflite库中的databaseFactoryDatabase类。
    • 关键方法openDatabase
    • 示例代码
    import 'package:sqflite/sqflite.dart';
    import 'package:path/path.dart';
    
    Future<Database> createDatabase() async {
      final databasesPath = await getDatabasesPath();
      final path = join(databasesPath, 'example.db');
    
      return openDatabase(
        path,
        version: 1,
        onCreate: (Database db, int version) async {
          await db.execute('''
            CREATE TABLE users (
              id INTEGER PRIMARY KEY,
              name TEXT,
              age INTEGER
            )
          ''');
        },
      );
    }
    
  3. 插入数据
    • 关键类Database类。
    • 关键方法insert
    • 示例代码
    Future<void> insertData() async {
      final db = await createDatabase();
      await db.insert(
        'users',
        {'name': 'John', 'age': 30},
        conflictAlgorithm: ConflictAlgorithm.replace,
      );
    }
    

在上述代码中,首先通过openDatabase方法创建或打开数据库,并在onCreate回调中创建了一个名为users的表。然后通过insert方法向users表中插入了一条数据。注意insert方法中的conflictAlgorithm参数用于指定当插入数据发生冲突时的处理策略。