I'm inserting data to my database and got the following error...
flutter: Moor: Sent INSERT INTO add_cash (name, amount, date, frequency, is_deleted) VALUES (?, ?, ?, ?, ?) with args [income, 100000, 1573102800, once, 0]
Does the question marks mean that the data wasn't inserted into the database
Here is the button that sends data to database
CupertinoButton.filled(
onPressed: () {
scakey.currentState.onItemTapped(1);
createAddCash();
},
child: Text('ADD CASH'),
),
void createAddCash() async {
final database = Provider.of<AppDatabase>(context);
final task = AddCashData(
name: oneController.text,
amount: int.parse(twoController.text),
date: selectedDate,
frequency: selectedItem,
isDeleted: false);
database.insertAddCash(task);
}
Here is my database
class AddCash extends Table {
IntColumn get id => integer().autoIncrement()();
TextColumn get name => text()();
IntColumn get amount => integer()();
DateTimeColumn get date => dateTime()();
TextColumn get frequency => text()();
BoolColumn get isDeleted => boolean()();
}
@UseMoor(tables: [AddCash])
class AppDatabase extends _$AppDatabase {
AppDatabase()
// Specify the location of the database file
: super(
(FlutterQueryExecutor.inDatabaseFolder(
path: 'db.sqlite',
// Good for debugging - prints SQL in the console
logStatements: true,
)),
);
@override
int get schemaVersion => 1;
Future insertAddCash(AddCashData addCashData) =>
into(addCash).insert(addCashData);
}
Does the question marks mean that the data wasn't inserted into the database
No, it is not an error message. The question mark indicate the parameter that will be stored to the databse. I would suggest you add try-catch
between your code, so you can check what is the error.
try {
final task = AddCashData(...);
database.insertAddCash(task);
} catch (e) {
print(e.toStirng()); // this line will be printed if there is any errors
}