Hirdetés

Új hozzászólás Aktív témák

  • thon73

    tag

    válasz fatal` #1402 üzenetére

    Köszönöm mindenkinek! A lényegi kérdés pont az, amit hunfatal tett fel (Cursor oldal), a SektorFlop által feltett (query oldal) sem triviális, de ott működtek a teljes nevek.

    Az elméleti kérdés érdeklődőknek továbbra is fennáll :) : miért dob exception-t, ha a Cursor oszlopaira teljes névvel akarok hivatkozni ((azt a választ, hogy azért mert nem teljes névvel azonosítja az oszlopokat, már tudom, de: miért van így??)) ÉS ha exception-t dob (a log-ban piros sorok), akkor hogyan mehet tovább? Na de ez csupán filozófia.

    A konkrét kérdést így próbáltam ki:

    String[] projection = new String[] {
    BooksTable.FULL_ID,
    AuthorsTable.FULL_NAME + " AS N ",
    BooksTable.FULL_TITLE + " AS T " };

    CursorLoader cursorLoader = new CursorLoader(getActivity(),
    BooksTable.CONTENT_URI,
    projection,
    BooksTable.FULL_SEARCH + " like ? ",
    new String[] { "%"+filterString+"%" },
    AuthorsTable.FULL_NAME + " COLLATE LOCALIZED ");

    ahol:

    case BooksTable.DIRID:
    // Set the table
    queryBuilder.setTables( BooksTable.TABLENAME +
    " LEFT OUTER JOIN " + AuthorsTable.TABLENAME +
    " ON " + BooksTable.FULL_AUTHOR_ID + "=" + AuthorsTable.FULL_ID );

    A FULL_ jelenti a teljes azonosítót table.column formátumban. Ellenőrzés log-ban:

    "Cursor cols: " + Arrays.toString( data.getColumnNames()

    Eredménye:
    Cursor cols: [_id, N, T ]

    Vagyis: az AS a cursor oldalon is működik! Arra persze figyelni kell, hogy egy _id oszlop maradjon! Én egyébként ezt megkerülve minden oszlopnak más nevet adtam előtte, ill. a két _id-t (csak ellenőrzésre kellett) oszlopszám alapján kérdeztem le. De ez a módszer sokkal jobb ((és ezt a problémát nem találtam még sehol a neten, biztos mindenki rögvest tudta...))

    SektorFlop! Az nagyon jó hír, biztosan fogok még kérdezni ezret. Egy egyszerű adatbáziskezelőt készítgetek, próbaként könyvek/szerzők stb. feljegyzésével, de a végső cél egy beteg-adat kezelő alkalmazás.
    Egy átfogó kérdésem rögtön lenne: nagy szükségem van export/import funkcióra. Kapcsolt adatbázisoknál van-e erre valami elegáns v. beépített módszer? Magamtól úgy terveztem megoldani, hogy exportnál a hivatkozott elem részeit is kiírom, importnál pedig megkeresem, van-e ilyen elem, és úgy hivatkozok rá, vagy ha nincs - létrehozom. A nem kapcsolt táblák már jönnek-mennek!

    ((Ha esetleg valaki még meg tudná mondani, hogyan lehet a LogCat-ot vágólapra másolni az Eclipse-ben, akkor kissé könnyebben tudnám ide másolni a releváns részeket. A mentés/keresés/megnyitás/másolás egy kissé macerás...))

Új hozzászólás Aktív témák