Sqlite in flutter, how database assets work

First off, you will need to construct a sqlite database from your csv. This can be done in the following way:

  1. Create the necessary table (users.sql)

    CREATE TABLE users(
       firstname TEXT NOT NULL, lastname TEXT NOT NULL, dob TEXT NOT NULL );
  2. Create the sqlite database

    sqlite3 database.db < users.sql
  3. Insert the csv data

    sqlite3 database.db
    .mode csv .import data.csv users
  4. Put database.db into your assets and add that in pubspec.yaml.

    flutter:
      # ... assets: - assets/database.db
  5. In your app, you'll have to copy the asset file into "documents". This is slightly complicated.

    // Construct a file path to copy database to
    Directory documentsDirectory = await getApplicationDocumentsDirectory(); String path = join(documentsDirectory.path, "asset_database.db"); // Only copy if the database doesn't exist if (FileSystemEntity.typeSync(path) == FileSystemEntityType.notFound){ // Load database from asset and copy ByteData data = await rootBundle.load(join('assets', 'database.db')); List<int> bytes = data.buffer.asUint8List(data.offsetInBytes, data.lengthInBytes); // Save copied asset to documents await new File(path).writeAsBytes(bytes); }
  6. Lastly, you can access the database like so.

    Directory appDocDir = await getApplicationDocumentsDirectory(); String databasePath = join(appDocDir.path, 'asset_database.db'); this.db = await openDatabase(databasePath); initialized = true;
  7. Example query (this._initialize() is step 6)

    Future<List<Page>> search(String word, int parentId) async { if (!initialized) await this._initialize(); String query = ''' SELECT * FROM users LIMIT 25'''; return await this.db.rawQuery(query); }

转载于:https://www.cnblogs.com/pythonClub/p/10826036.html

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
I'm not sure which statement you're referring to, but assuming you have an SQLite database set up and you want to execute SQL statements on it, you can use a SQLite client or a programming language with a SQLite library to connect to the database and execute statements. Here are the general steps for using SQLite in a programming language: 1. Install a SQLite library for your programming language. Some popular ones include SQLite3 for Python, sqlite-jdbc for Java, and sqlite for Node.js. 2. Connect to the database using the library's API. This typically involves creating a connection object with the path to the database file and any other relevant connection information, such as credentials. 3. Execute SQL statements on the database using the connection object. This can be done with a variety of methods, depending on the library and programming language you're using. For example, in Python with the sqlite3 library, you can use the `execute` method of a connection object to run SQL statements. 4. Close the connection when you're finished working with the database. Here's an example of using the sqlite3 library in Python to execute a simple SQL statement: ```python import sqlite3 # Connect to the database conn = sqlite3.connect('example.db') # Execute a SQL statement conn.execute('CREATE TABLE users (id INTEGER PRIMARY KEY, name TEXT)') # Close the connection conn.close() ``` This code creates a new SQLite database file called "example.db" and creates a new table called "users" with two columns, "id" and "name". The `execute` method is used to run the SQL statement. Finally, the connection is closed with the `close` method.
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值