Kotlin sql query i wypisywanie

Odpowiedz Nowy wątek
2018-11-30 16:04
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...

edytowany 1x, ostatnio: nexxx, 2018-11-30 16:05

Pozostało 580 znaków

2018-11-30 16:13
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...

Pozostało 580 znaków

2018-11-30 18:46
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.

Pozostało 580 znaków

2018-11-30 18:51
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()

Pozostało 580 znaków

2018-11-30 19:18
pozdroooo
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

Pozostało 580 znaków

2018-11-30 19:19
pozdroooo
0

a najlepiej to czytaj dokumentacje:
https://developer.android.com[...]atabase/sqlite/SQLiteDatabase

Pozostało 580 znaków

Odpowiedz
Liczba odpowiedzi na stronę

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