【发布时间】:2020-07-15 19:18:54
【问题描述】:
我下面有这个SQL方法,假设返回多行数据,但每次显示数据时只返回一项。
我该如何解决这个问题?
//Constant
public static final String COL_4 = "LikeSong";
//Database Table
@Override
public void onCreate(SQLiteDatabase db) {
db.execSQL("CREATE TABLE UserInfo(ID INTEGER PRIMARY KEY AUTOINCREMENT, Users_Name TEXT, PlaylistName TEXT,likeAlbum TEXT,LikeSong TEXT)");
}
public String[] getLikedSongs() {
SQLiteDatabase db = this.getReadableDatabase();
String[] LikeSong = null;
Cursor cursor = db.rawQuery(" SELECT " + COL_4 + " FROM " + Table_Name + " WHERE " + COL_4 + " IS NOT NULL", null);
while (cursor.moveToNext()) {
String note = cursor.getString(0);
LikeSong = note.split(",");
}
cursor.close();
db.close();
return LikeSong;
}
【问题讨论】:
-
试试
while (cursor.next()) -
产生了错误。我只能使用“cursor.moveToNext()”或“cursor.moveToFirst()
-
LikeSong 在任何迭代中都会被覆盖,因此您将始终从循环的最后一次迭代中获取数据。
标签: java android sql sqlite android-sqlite