1. Nimm jetzt an unserem Uhans - 3. ADVENT - Gewinnspiel teil - Alle Informationen findest Du hier!

Daten aus der Datenbank ohne Cursor?

Dieses Thema im Forum "Android App Entwicklung" wurde erstellt von method1545, 19.10.2009.

  1. method1545, 19.10.2009 #1
    method1545

    method1545 Threadstarter Neuer Benutzer

    Beiträge:
    9
    Erhaltene Danke:
    0
    Registriert seit:
    19.10.2009
    Hallo,

    ich dachte eigentlich es wäre kein Problem aber irgendwie scheine ich es nicht hinzukriegen.

    Ich mag einfach Daten aus einer Datenbank lesen ohne einen Cursor den ich dann irgendwo dran hänge (z.b. ne ListActivity).

    Hab ne Tabelle Person mit Name und Vorname und will nun alle Einträge in meiner Javawelt in der "Hand" haben.

    Hat jemand Erfahrungen damit?
     
  2. swordi, 19.10.2009 #2
    swordi

    swordi Gewerbliches Mitglied

    Beiträge:
    3,389
    Erhaltene Danke:
    441
    Registriert seit:
    09.05.2009
    naja wie soll das ohne cursor gehen??

    du musst alle selectieren über ein query. dann bekommst du die ganzen datensätze und mittels cursor gehst du dann alle durch und speicherst die daten in deine javawelt objekte ;)
     
  3. method1545, 19.10.2009 #3
    method1545

    method1545 Threadstarter Neuer Benutzer

    Beiträge:
    9
    Erhaltene Danke:
    0
    Registriert seit:
    19.10.2009
    ok also doch cursor :)

    könntest du mir dabei helfen die daten in dem cursor zu finden?
    vielleicht hört sich das extrem doof an aber ich find die datensätze nirgends im/am cursor.

    war mit dem debugger dran aber nirgends sah ich meine Personen-Daten :)

    mein code sieht momentan so aus: spinner ist allerdings leer.

    Code:
    
    private void fillSpinner()
    	{
    
    		Cursor spinnerCursor = mDbHelper.fetchAllPersons();
    
    		if (spinnerCursor != null)
    		{
    			startManagingCursor(spinnerCursor);
    
    
    			String[] names = new String[]
    			{ PersonDbAdapter.KEY_FIRSTNAME };
    
    			int[] to = new int[]
    			{ android.R.layout.simple_spinner_item };
    
    			
    			SimpleCursorAdapter itemsAdapter = new SimpleCursorAdapter(this,
    					android.R.layout.simple_spinner_item, spinnerCursor, names,
    					to);
    
    			// itemsAdapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);
    			mPersonSpinner.setAdapter(itemsAdapter);
    			// itemsAdapter.bindView(mDriverSpinner, this, spinnerCursor);
    		} else
    		{
    			Toast.makeText(this, "error: items cursor is null",
    					Toast.LENGTH_SHORT);
    		}
    	}
     
  4. swordi, 19.10.2009 #4
    swordi

    swordi Gewerbliches Mitglied

    Beiträge:
    3,389
    Erhaltene Danke:
    441
    Registriert seit:
    09.05.2009
    hmm du musst dich mal damit beschäftigen was ein cursor überhaupt ist.

    er haltet für dich sämtliche datensätze, die du angefordert hast. kleines beispiel:

    select * From table;
    ergebnis wäre zb

    1 hallo 2.3
    2 tschüss 1.1

    dein cursor hält jetzt genau das

    nun machst du folgendes

    if (cursor != null) {
    if (cursor.movetofirst()) {
    do {
    int id = cursor.getInt(0); /// 0 ist die 0te spalte der ergebnisreihe
    String text = cursor.getString(1);
    double amount = cursor.getDouble(2);
    System.out.println(id + " " + text + " " + amount );
    }while(cursor.moveToNext());
    }
    }

    so arbeitet man mit cursorn
     
    method1545 bedankt sich.
  5. method1545, 19.10.2009 #5
    method1545

    method1545 Threadstarter Neuer Benutzer

    Beiträge:
    9
    Erhaltene Danke:
    0
    Registriert seit:
    19.10.2009
    super danke, das hilft mir weiter.
    die tabellen indizes habe ich entdeckt im debugger.

    danke sehr für den moment :)
     
  6. swordi, 19.10.2009 #6
    swordi

    swordi Gewerbliches Mitglied

    Beiträge:
    3,389
    Erhaltene Danke:
    441
    Registriert seit:
    09.05.2009
    kein problem
     
  7. method1545, 19.10.2009 #7
    method1545

    method1545 Threadstarter Neuer Benutzer

    Beiträge:
    9
    Erhaltene Danke:
    0
    Registriert seit:
    19.10.2009
    coole Sache. Der Spinner ist nun so wie ich ihn wollte :)
    Es werden alle Einträge angezeigt und er aktualisiert sich falls ein neuer Eintrag getätigt wird.

    Was mir nun noch fehlt ist etwas ala das Setzen von ID's zu den Spinnereinträgen, so dass ich nach einer Selektion des Users im Spinner Operationen starten kann mit den stimmigen ID's der Spinnereinträge.

    Kann ich diese Spinnerreihen mit ID's besetzen?

    Wenn nicht, hätte ich ne andere Lösung im Hinterkopf die ich aber gerne umgehen würde.
     
  8. swordi, 19.10.2009 #8
    swordi

    swordi Gewerbliches Mitglied

    Beiträge:
    3,389
    Erhaltene Danke:
    441
    Registriert seit:
    09.05.2009
    kennst du adapter???

    schau dir mal bei google die hilfe zu adaptern an. denke das ist das was du brauchst.

    ansonsten, musst du ja alle deine einträge vom spinner in einer best. listenartigen datenstruktur haben.

    dort kannst du die position ermitteln und dem spinner sagen und umgekehrt.
     

Diese Seite empfehlen