首页 > 解决方案 > SQL:无法让 count(*) 工作 - 为什么会这样?

问题描述

我正在尝试在数据库中查询与给定 ID 匹配的条目数,但我想不出一个可行的解决方案。

每种类型的帐户有两个对应于 1 的用户 ID,由于某种原因,第一种方法输出“1”,第二个方法输出“0”。如果需要,我也可以显示主要活动和数据库模式。

public int numberOfDebitAccounts(int userID){
    int numOf_accs = 0;
    String query = "select count(*) from debitAccount where userID = '" +userID+"'";
    openDatabase();
    Cursor cursor = db.rawQuery(query,null);
    if(cursor.moveToFirst()) {
        numOf_accs = cursor.getInt(0);
        System.out.println("Number of debit accs: " + numOf_accs);
    }
    cursor.close();
    closeDatabase();
    return numOf_accs;
}

public int numberOfCreditAccounts(int userID){
    int numOf_accs = 0;
    String query = "select count(accountID) from creditAccount where userID = '" +userID+"'";
    openDatabase();
    Cursor cursor = db.rawQuery(query,null);
    if(cursor.moveToFirst()) {
        numOf_accs = cursor.getInt(0);
        System.out.println("number of credit accounts: " + numOf_accs);
    }
    closeDatabase();
    return numOf_accs;
}

标签: javaandroidsql

解决方案


推荐阅读