0

行を取得したいのですが、この行には名前が付けられた2つの列がusernameあり、password私のコードは次のとおりです:

String selection = PROFILE_COLUMN_USERNAME + " = '" + userName+ "' AND " +PROFILE_COLUMN_PASSWORD + " = '" + password + "'";
Cursor cursor = database.query(TABLE_NAME, new String[] {PROFILE_COLUMN_USERNAME, PROFILE_COLUMN_PASSWORD }, selection,null, null, null, null);

のようなサンプルデータをデータベースに取得しましたusername = erdempassword= c、このサンプルを書き、次のように書くと、次username のようになります。

String s =cursor.getString(cursor.getColumnIndex(PROFILE_COLUMN_USERNAME));

うまくいきません。なんで?

4

3 に答える 3

0

この方法を試してみてください...

Cursor cursor = null;

try {
    String queryString = "SELECT * FROM Table_Name";

    cursor = myDatabase.rawQuery(queryString, null);
            if (cursor != null && cursor.moveToFirst()) {

                do {
                    String nextUser = new String(cursor.getString(cursor
                            .getColumnIndex("driver_fname")));

                } while (cursor.moveToNext());

            }
        } catch (Exception e) {
            e.printStackTrace();

        } finally {
            if (cursor != null && !cursor.isClosed()) {
                cursor.deactivate();
                cursor.close();
                cursor = null;
            }
            if (myDatabase != null) {
                myDatabase.close();
            }
        }
于 2012-11-16T17:52:35.787 に答える
0

使用して、ドキュメントmoveToFirstを読んでください。

于 2012-11-16T17:34:14.117 に答える
0

以下のようなものを試してください: ここで、「path_on_server」は、値が抽出されている DB テーブル内の列の名前です。テーブルの列名に変更できます。

        String query = "some query";
        Cursor c = newDB.rawQuery(query, null);

        if (c != null) {
            if (c.moveToFirst()) {
                do {
                    mPathOnServer = c.getString(c
                            .getColumnIndex("path_on_server"));
                } while (c.moveToNext());
            }
        }
    } catch (SQLiteException se) {
        Log.e(getClass().getSimpleName(),
                "Could not extract information from DB");
    }
于 2012-11-16T17:37:13.660 に答える