0

3 日間 Web で検索し、さまざまなことを試した後、私は自分の知識の終わりです。カーソルを介して Android-SQLite データベースからデータを取得しようとしています。データベースは、次の SQLCode で作成されます。

create table Passwort("ref text primary key, pw text)";

バグコードは次のようになります。

public String suchen(String refe) {

    String antwort = "";
    open();
    try {
        String rawQuery = "Select * FROM Passwort WHERE ref LIKE \"" + refe
                + "\"";
        // Cursor c= db.query("Passwort", null, DBspalten[0]+"= '"+refe+"'",
        // null, null, null, null);
        Cursor c = db.rawQuery(rawQuery, null);
        System.out.println(c.moveToFirst());
        // normaly the "antwort" would  be the second field of the Cursors first entry 
        // as told, the cursors  is always empty
        //antwort = "";
        System.out.println("testausgabe:" + " " + c.getCount());
    } catch (SQLException e) {
        System.out.println("anderer Fehler");
    }
    return antwort;
}

成功した挿入ステートメントを介して、ref="test" pw="QqjMs740Mg" のエントリを挿入しました。このデータはデータベースで決定的なものです。データベースの Eclipse プラグインを介して見つけました。それで、アクティブなSystem.out.println-statmentが常にfalseを提供するという私のカーソルの問題は何ですか。これは、カーソルにデータがないことを意味します。

4

1 に答える 1

0

これを試して:

String rawQuery = "Select * FROM Passwort WHERE ref LIKE '" + refe + "'";

二重引用符を一重引用符に置き換えただけです。したがって、SQLクエリは次のようになります。

SELECT * FROM Passwort WHERE ref LIKE 'your_refe_value'

それが機能するかどうか教えてください。

于 2012-10-11T15:10:10.610 に答える