0

データベースからユーザー名とパスワードをチェックする関数をアプリケーションで作成しましたが、そのエラーが発生します

07-02 00:31:09.619: E/Cursor(345): Finalizing a Cursor that has not been deactivated or closed. database = /data/data/sbn.project.gp/databases/users, table = null, query = SELECT name,password FROM users WHERE name='khaled'and password='1234'

これが私のコードです

public Boolean check(String nameS, String passwordS) {
        // TODO Auto-generated method stub

        Cursor c = null;
        Boolean check = true;

        c = ourDatabase.rawQuery("SELECT name,password FROM users WHERE name='"
                + nameS + "'" + "and password='" + passwordS + "'", null);

        if (c.getCount() > 0) {
            check = false;
            return check;
        }
        c.close();


        return check;
    }
4

1 に答える 1

1

チェックがfalseの場合、カーソルを閉じなかったためです。代わりにこれを行ってください:

public Boolean check(String nameS, String passwordS) {
        Cursor c = null;
        Boolean check = true;

        c = ourDatabase.rawQuery("SELECT name,password FROM users WHERE name='"
                + nameS + "'" + "and password='" + passwordS + "'", null);

        if (c.getCount() > 0) {
            check = false;
        }
        c.close();
        return check;
    }
于 2012-07-01T22:16:02.510 に答える