0

次のテーブルがあるとします

sqlite> SELECT * FROM Artists;
ArtistID|ArtistName
1       |Peter Gabriel
2       |Bruce Hornsby
3       |Lyle Lovett
4       |Beach Boys
5       |Supernatural

sqlite> SELECT * FROM CDs;
CDID|ArtistID|Title              |Date
1   |1       |So                 |1984
2   |1       |Us                 |1992
3   |2       |The Way It Is      |1986
4   |2       |Scenes from the Southside|1990
5   |1       |Security           |1990
6   |3       |Joshua Judges Ruth |1992
7   |4       |Pet Sounds         |1966

このようなクエリを作成したい

sqlite>SELECT ArtistID as _id, ArtistName, Title FROM Artists, CDs WHERE Artists.ArtistID=CDs.ArtistID;  

Android クラスを使用してそれを使用するにはどうすればよいですSQLiteQueryBuilderか。projectionMap には何が必要ですか?

SQLiteDataBaseそれとも、クラスを使用するだけで簡単ですか?

4

2 に答える 2

0

わかりました。whereステートメントをハードコーディングする必要がありました。

projectionMap.put(ArtistID, ArtistID + " AS " + _ID);
projectionMap.put(Title, Title);
queryBuilder.setProjectionMap(projectionMap);
于 2010-10-23T03:15:33.673 に答える
0

Android SQLiteQueryBuilder クラスを使用してそれを使用するにはどうすればよいですか

あなたは SQL を知っていて、SQL を持っているので、そのためrawQuery()に onを使用します。SQLiteDatabase

誰かがあなたの頭に銃を向けて強制的に を使用させた場合SQLiteQueryBuilder、プロジェクション マップはおそらくまたはおよびまたはにマッピングArtistNameされます。私は暗黙的 (または明示的) を使用していません。これは、コンテンツ プロバイダーを作成するときにしか使用しないためです。ArtistNameArtists.ArtistNameTitleTitleCDs.TitleSQLiteQueryBuilderJOINSQLiteQueryBuilder

于 2010-10-22T11:42:26.063 に答える