2011-12-30 9 views
3

リストビュー項目が選択されている場合、テーブルコンテンツを文字列に配置したいと考えています。SQLiteクエリから文字列へ

私の実際のクエリ

public Cursor webUrlQuery() { 
    String webUrlTmp = "select weburl FROM stations WHERE name=" + "'" + name + "'"; 
    return database.rawQuery(webUrlTmp, null); 
} 

作品。

12-30 23:25:15.828:D/StationsActivity(10576)私はそれが

Log.d(TAG, "webUrl = " + webUrlQuery()); 

または

Log.d(TAG, "webUrl = " + webUrlQuery().toString()); 

経由logcatするログインした場合しかし、私はこのような何かを得ました:streamUrl = [email protected]

使用できる文字列を取得するにはどうすればよいですか? これは、cursor.toString()メソッドが動作しないようです。

答えて

1

予想される結果の数によって異なります。

Cursor result = webUrlQuery(); 
result.moveToFirst(); 
String url = result.getString(result.getColumnIndex("weburl")); 
Log.d(TAG, "webUrl = " + url); 

幸運:あなたは一つだけの結果を期待していた場合、あなたはこのようなものを使用することができます!

+0

はい。ありがとう。それはまさに私が欲しいものです! – Leandros

1

Cursor.toString()は完全に正常に動作しています - Cursorオブジェクトの文字列表現を返しています。おそらくCursor.getString()が必要です(最初に返された行を指すには、まずCursor.moveToFirst()を使用する必要があります)。

+0

作品もあります。ありがとう! – Leandros

1

なぜCursorオブジェクトをログインしようとしていますか?クエリを印刷する場合は、webUrlTmpを使用する必要があります。

ところで、実際にクエリパラメータをバインドすることを検討する必要があります。

+0

私はリストビューを持っていますが、特定の項目(qslite db外)があります。オンの項目が選択されている場合、1つのDB項目に文字列を設定します。このURLの上の例では、 Logcatはテスト用です。 :) しかし、もし私がlogcat webUrlTmpだけnullを取得します。どうして?私のデバイス(adb)でsqliteを使用する場合、私は正しいurlを持っています。 – Leandros