如何检查 getLogin() 函数是否有效以显示登录成功与否
how to check if getLogin() function worked or not to display login was successful or not
我不明白如何检查 getLogin() 函数是否有效以及用户是否存在。
我在哪里编写代码来显示消息。当我通过为这个语句分配一个变量来检查时
res=dbService.getLogin(_email, _password);
然后它显示数据类型不匹配。你能帮我解决这个问题吗?我正在 android studio 中开发 flutter 应用程序并使用 sqlite。请帮助我,我从 2 天开始就卡住了。
我在登录按钮上调用 _submit()
bool validateAndSave() {
final form = _formKey.currentState;
if (form.validate()) {
form.save();
return true;
}
return false;
}
void _submit(){
if (validateAndSave()) {
setState(() {
dbService.getLogin(_email, _password);
});
}
}
这是 db_service.dart getLogin() 的代码
Future<RegisterUser> getLogin(String user, String password) async {
await DB.init();
var res = await DB.rawQuery("userDetails WHERE emailId = '$user' and password = '$password'");
if (res.length > 0) {
return RegisterUser.fromMap(res.first);
}
return null;
}
您可以等待登录方法的结果。
void _submit() async {
if (validateAndSave()) {
var user = await dbService.getLogin(_email, _password);
if (user != null) {
Navigator.of(context).pushNamed('/home');
} else {
ScaffoldMessenger.of(context).showSnackBar(SnackBar(content: Text("Sign in error")));
}
}
}
在这种情况下,如果成功,我将推送到主屏幕,并在出现错误时显示一个小吃栏。您可以根据您的预期用例进行调整。
我不明白如何检查 getLogin() 函数是否有效以及用户是否存在。 我在哪里编写代码来显示消息。当我通过为这个语句分配一个变量来检查时
res=dbService.getLogin(_email, _password);
然后它显示数据类型不匹配。你能帮我解决这个问题吗?我正在 android studio 中开发 flutter 应用程序并使用 sqlite。请帮助我,我从 2 天开始就卡住了。
我在登录按钮上调用 _submit()
bool validateAndSave() {
final form = _formKey.currentState;
if (form.validate()) {
form.save();
return true;
}
return false;
}
void _submit(){
if (validateAndSave()) {
setState(() {
dbService.getLogin(_email, _password);
});
}
}
这是 db_service.dart getLogin() 的代码
Future<RegisterUser> getLogin(String user, String password) async {
await DB.init();
var res = await DB.rawQuery("userDetails WHERE emailId = '$user' and password = '$password'");
if (res.length > 0) {
return RegisterUser.fromMap(res.first);
}
return null;
}
您可以等待登录方法的结果。
void _submit() async {
if (validateAndSave()) {
var user = await dbService.getLogin(_email, _password);
if (user != null) {
Navigator.of(context).pushNamed('/home');
} else {
ScaffoldMessenger.of(context).showSnackBar(SnackBar(content: Text("Sign in error")));
}
}
}
在这种情况下,如果成功,我将推送到主屏幕,并在出现错误时显示一个小吃栏。您可以根据您的预期用例进行调整。