如何从带有条件的数据库中选择行数?

时间:2019-08-17 06:27:00

标签: flutter sqflite

如何使用where条件从数据库获取行数?未定义where和whereArgs参数,并且无法在查询中编写变量

 Future<int>GetRows(String Username,String Password) async{
    var dbClient = await db;
    return Sqflite.firstIntValue(
    await dbClient.rawQuery(
        "SELECT COUNT(*) FROM $Table WHERE $CoulmnUserName = $Username AND 
         $CoulmnPassword = $Password",
       )
    );
  }

获取行数

int Row = await db.GetRows(_data.Username,_data.Password);

行== 0

2 个答案:

答案 0 :(得分:0)

在where子句中测试String值时,应使用SQLite参数(?)。这样的事情应该起作用:

Future<int> getRowCount(String username, String password) async {
  var dbClient = await db;

  var result = await dbClient.query(table,
      columns: ['COUNT(*)'],
      where: '$columnUsername = ? AND $columnPassword = ?',
      whereArgs: [username, password]);

  return firstIntValue(result);
}

答案 1 :(得分:-1)

我认为您可以尝试以下代码:-

for x in doc4:
    print(x.text, x.pos_, x.dep_)