Sqlite,如何根据参数决定是否执行WHERE查询 未来查询用户(字符串性别、整数年龄)异步{ List queryList=await db.rawQuery(“”) 选择* 来自“用户” 哪里 'user'.gender='$gender'//如果gender(函数参数)为null,则不要执行此命令 及 “user”.age=$age//如果age(函数参数)为空,则不要执行此命令 '''); 返回查询列表; }

Sqlite,如何根据参数决定是否执行WHERE查询 未来查询用户(字符串性别、整数年龄)异步{ List queryList=await db.rawQuery(“”) 选择* 来自“用户” 哪里 'user'.gender='$gender'//如果gender(函数参数)为null,则不要执行此命令 及 “user”.age=$age//如果age(函数参数)为空,则不要执行此命令 '''); 返回查询列表; },sqlite,flutter,Sqlite,Flutter,如何根据参数决定是否执行WHERE查询?谢谢 这可能不是最简单的解决方案。但你当然可以把这些钱分了 查询字符串并使用条件到达最终查询字符串 Future<List<Map<String, dynamic>>> queryUsers(String gender, int age) async { List<Map<String, dynamic>> queryList = await db.rawQuery('''

如何根据参数决定是否执行WHERE查询?谢谢

这可能不是最简单的解决方案。但你当然可以把这些钱分了 查询字符串并使用条件到达最终查询字符串

  Future<List<Map<String, dynamic>>> queryUsers(String gender, int age) async {
    List<Map<String, dynamic>> queryList = await db.rawQuery('''
      select * 
      from 'user'
      where 
        'user'.gender = '$gender' // if gender(function parameter) is null, do not execute this command
      and 
        'user'.age = $age         // if age(function parameter) is null, do not execute this command
    ''');
    return queryList;
  }

这可能不是最简单的解决方案。但你当然可以把这些钱分了 查询字符串并使用条件到达最终查询字符串

  Future<List<Map<String, dynamic>>> queryUsers(String gender, int age) async {
    List<Map<String, dynamic>> queryList = await db.rawQuery('''
      select * 
      from 'user'
      where 
        'user'.gender = '$gender' // if gender(function parameter) is null, do not execute this command
      and 
        'user'.age = $age         // if age(function parameter) is null, do not execute this command
    ''');
    return queryList;
  }

输入参数是null还是数据库中的值是null?输入参数是null请不要将值插入要解释为SQL的字符串中。您正在设置bobby tables攻击:。谢谢,这很重要!输入参数是null还是数据库中的值是null?输入参数是null请不要将值插入要解释为SQL的字符串中。您正在设置bobby tables攻击:。谢谢,这很重要!