Kotlin sql query i wypisywanie

0

Da sie w kotlinie normalnie po ludzku pisac zapytania czyste np SELECT COUNT() FROM (SELECT _rowid_, FROM Rekordy ORDER BY wynik ASC);
SELECT _rowid_,* FROM Rekordy ORDER BY wynik ASC LIMIT 0, 50000;

i zeby mi to normalnie wypisalo w kolejnosci od najmniejszego do najwiekszego wyniku czy trzeba sie uczyc jakis nielogicznych funkcji... co za glupota po co oni utrudniaja zamiast dac normalnie sql do wpisywania to jakies glupoty bez sensu

chodzi mi o to czy mozna jak w php zapytanie->tablica->petla wypisuje. prosto i logicznie a tu jakies dno...

0

val cursor = db.query(TableInfo.TABLE_NAME, null, BaseColumns._ID + "=?", arrayOf(p0.adapterPosition.plus(1).toString()), null, null, "WYNIK ASC")

Nie mam juz pomyslu co tam wpisac... nic nie dziala to pole z WYNIK ASC jest podpisane jako "orderBy"

zamiast wpisywac cale zapytania normalnie jak czlowiek to oni jakies wycinki tylko pozwalaja wpisac co i tak nic nie dziala...

0

Da się, ale bez pokazania sensownego kodu nikt Ci nie powie, co masz zrobić. Jeżeli chcesz ręcznie wszystko rzeźbić, to musisz iterować po kursorze i odpowiednio go zbudować. Trochę bezsensowna zabawa w 2018. Radzę skorzystać z Room albo SqlDelight. Room jest prostszy i przyjemniejszy dla niezaznajomionych w temacie.

0

TableInfo.TABLE_COLUMN_MESSAGE = "wynik"

cos takiego mam. przez rawQuery mozna wykonywac zapytania, ale tam jakas tablice trzeba podac i nie czaje jak to zrobic zeby kursor działał, a tutaj juz na wszystkie sposoby wpisywalem "DESC" i nie sortuje

override fun onBindViewHolder(p0: MojViewHolder, p1: Int) {

val wynikwynik = p0.view.textViewWynik
val wynikuser = p0.view.textView_user

val cursor = db.query(TableInfo.TABLE_NAME, null, BaseColumns._ID + "=?", arrayOf(p0.adapterPosition.plus(1).toString()), null, null, TableInfo.TABLE_COLUMN_MESSAGE +" DESC")

if (cursor.moveToFirst()){

    wynikwynik.text=cursor.getString(1).toString()
    wynikuser.text=cursor.getString(2).toString()

}
}

cursor.close()
0

w rawQuery mozesz podac na koncu pusta tablice i powinno dzialac

new String[]{}

czyli np.

database.rawQuery("SELECT * FROM " + DbHandler.TABLE_ORDER_DETAIL +
                         " ORDER BY "+DbHandler.KEY_ORDER_CREATED_AT + " DESC"
                         , new String[] {});

sprawdz sobie to :
https://developer.android.com/topic/libraries/architecture/room

1 użytkowników online, w tym zalogowanych: 0, gości: 1, botów: 0