【发布时间】:2021-07-14 21:02:30
【问题描述】:
我正在制作一个应用程序,用户可以在其中填写表格并可以保存他们进行的每笔交易的财务交易详细信息,为此,我还想添加一个日期,并且我想使用该日期获取数据好吧。我正在按如下方式创建我的数据库:
await database.execute(
"CREATE TABLE $TABLE_EXPENSES ("
"$COLUMN_ID INTEGER PRIMARY KEY,"
"$COLUMN_NAME TEXT,"
"$COLUMN_AMOUNT INTEGER,"
"$COLUMN_UNNECESSARYEXPENSES INTEGER,"
"$COLUMN_CATEGORY TEXT,"
"$COLUMN_DATETIME TEXT"
")",
);
我的映射如下:
DateTime dateTime;
String pickedDate;
expense({this.id, this.name, this.amount, this.isUnnecessaryExpenses, this.category, this.dateTime, this.pickedDate});
Map toMap() {
var map = {
DatabaseProvider.COLUMN_NAME: name,
DatabaseProvider.COLUMN_AMOUNT: amount,
DatabaseProvider.COLUMN_UNNECESSARYEXPENSES: isUnnecessaryExpenses ? 1 : 0,
DatabaseProvider.COLUMN_CATEGORY: category,
DatabaseProvider.COLUMN_DATETIME: pickedDate,
};
if (id != null) {
map[DatabaseProvider.COLUMN_ID] = id;
}
return map;
}
expense.fromMap(Map map) {
id = map[DatabaseProvider.COLUMN_ID];
name = map[DatabaseProvider.COLUMN_NAME];
amount = map[DatabaseProvider.COLUMN_AMOUNT];
isUnnecessaryExpenses = map[DatabaseProvider.COLUMN_UNNECESSARYEXPENSES] == 1;
category= map[DatabaseProvider.COLUMN_CATEGORY];
pickedDate = map[DatabaseProvider.COLUMN_DATETIME];
}
我还创建了用户可以保存数据的表单,日期选择器如下:
DateTime _dateTime;
String pickedDate;
Widget DatePicker() {
showDatePicker(context: context, initialDate: DateTime.now(), firstDate: DateTime.parse("2020-01-01 00:00:01Z"), lastDate: DateTime.now()
).then((value){
if (value == null){
return;
}
_dateTime = value;
pickedDate = DateFormat('yyyy-MM-dd').format(_dateTime);
});
}
现在我想知道它是否是在 SQLite Flutter 数据库中保存日期的正确方法,因为我一直在尝试运行查询,但我无法做到。请点击此链接到我的另一个问题Fetching data from sql databse in flutter datewise?
请帮忙。 感谢您的回复。
【问题讨论】:
标签: sql flutter android-sqlite android-database sqflite