如何在sqflite中比较用户输入和记录

时间:2019-10-17 03:43:23

标签: flutter sqflite

在sqflite数据库中,我有一个名为user的表。用户由用户名a,b,c组成。

当用户输入输入变量a时,系统将与表user中的用户名进行比较。如果用户输入等于表user中的username,则系统将显示错误消息,否则系统将显示成功。

我尝试使用Future Builder,但是没有用。如何在Test.dart中进行验证?

谢谢。

这是我的代码:

SqliteHelper.dart

icon: `src/images/gatsby-icon.png`,

}

Test.dart

 Future getDat(UserAccount userAccount) async {
var dbClient = await db;
name = userAccount.username;
List<Map> result = await dbClient.query("UserAccount",
    where: "username =?", whereArgs: [userAccount.username]);
if (result.length == 1) {
 return  name;
}

}

1 个答案:

答案 0 :(得分:0)

 Future<String> getDat(String username) async {
    var dbClient = await db;
    List<Map> result = await dbClient.query("UserAccount",
        where: "username =?", whereArgs: [username]);

    if (result.length == 1) {
      return  name;
    }

    return null;
}


_saveData() async {

  var db = UserAccountHelper();
  var username = cTitle.text;
  if(await db.getDat(username) != null) {
    print('Error');
    return;
  } 

  print('Success');
}

我修改过的东西:

  • 您不需要UserAccount作为参数,因为您只使用其中的用户名。

  • 如果在数据库中找不到用户名,则getDat返回null;

  • _saveData中,如果来自getDat的结果不为 error ,则打印,否则为 {{1} }