繁体   English   中英

Flutter 将数据插入数据库 sqflite

[英]Flutter Insert data into the database sqflite

我需要一次insert一个data并将其添加到string的末尾,但发生的是我正在做的事情是覆盖data

 for (var i = 0; i< isChecked.length; i++) {
  receipt.ingredientsReceipt = isChecked[i]; //receipt is table name, ingredientsReceipt is column name
  print(isChecked[i]);// isChecked is my list containing [ING 1, ING 2, ING 3]
 }

Output:

I/flutter ( 5360): ING 1
I/flutter ( 5360): ING 2
I/flutter ( 5360): ING 3

这是我的SQL

CREATE TABLE receipt(id INTEGER PRIMARY KEY AUTOINCREMENT, nameReceipt TEXT, descReceipt TEXT, ingredientsReceipt TEXT)

Output SQL

{id: null, nameReceipt: TEST, descReceipt: TEST, ingredientsReceipt: ING 3}

我需要它是这样的:

{id: 1, nameReceipt: TEST, descReceipt: TEST, ingredientsReceipt: ING 1, ING 2, ING 3}

根据我的评论,使用 3 个表:

收据

ID 姓名收据 描述收据
1 名称1 描述1
2 名称2 描述2

配料

ID 姓名
1 ingr1
2 ingr2
3 ingr3
4 ingr4

RECEIPT_INGREDIENT

ID 收据_fk 成分_fk
1 1 1
2 1 2
3 1 3
4 2 3
5 2 4

因此,当您想获得收据时,您必须从收据中向 select 数据写入查询,加入receipt_ingredient(其中receipt.id =receipt_ingredient.receipt_fk),加入成分(其中receipt_ingredient.ingredeint_fk = 成分.id) .

前任。 获取收据 id = 1 =>

ID 姓名收据 描述收据 收据_fk 成分_fk 姓名
1 名称1 描述1 1 1 ingr1
1 名称1 描述1 1 2 ingr2
1 名称1 描述1 1 3 ingr3

暂无
暂无

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

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM