Probleme mit Cursor

Dieses Thema im Forum "Android App Entwicklung" wurde erstellt von ensacom, 22.05.2009.

  1. ensacom, 22.05.2009 #1
    ensacom

    ensacom Threadstarter Android-Hilfe.de Mitglied

    Beiträge:
    68
    Erhaltene Danke:
    5
    Registriert seit:
    15.05.2009
    Hallo, mit folgendem source lese ich eine Zeile aus einer Datenbank aus.
    Laut myCursor.getCount() wurde auch was gefunden nur sobald ich mit myCursor.getString(1) den namen des gefundenen Artikels aus der Datenbank ausgeben lassen will, stürzt mein Programm immer ab.

    Was mache ich falsch?

    Code:
    long l = getIntent().getExtras().getLong("id");
    myDB = this.openOrCreateDatabase(TankPro2.MY_DATABASE_NAME, MODE_PRIVATE, null);    
    Cursor myCursor = myDB.rawQuery("SELECT name, model FROM " + TankPro2.MY_DATABASE_TABLE + " WHERE _id = "+l+";", null);        
    startManagingCursor(myCursor);
                
    Toast toast = Toast.makeText(this, myCursor.getString(1), Toast.LENGTH_SHORT);
    toast.show();
     
  2. ensacom, 22.05.2009 #2
    ensacom

    ensacom Threadstarter Android-Hilfe.de Mitglied

    Beiträge:
    68
    Erhaltene Danke:
    5
    Registriert seit:
    15.05.2009
    Ich habe die Lösung gefunden.

    Code:
    if(getIntent().hasExtra("id") == true)
            {
                long l = getIntent().getExtras().getLong("id");
                
                myDB = this.openOrCreateDatabase(TankPro2.MY_DATABASE_NAME, MODE_PRIVATE, null);    
                Cursor myCursor = myDB.rawQuery("SELECT name, model, bemerkungen, kraftstoffart, tankinhalt FROM " + TankPro2.MY_DATABASE_TABLE + " WHERE _id = "+l+";", null);        
                startManagingCursor(myCursor);
                
                int ColumnName = myCursor.getColumnIndex("name"); 
                int ColumnModel = myCursor.getColumnIndex("model"); 
                int ColumnBemerkung = myCursor.getColumnIndex("bemerkungen"); 
                int ColumnKraftstoffarten = myCursor.getColumnIndex("kraftstoffarten"); 
                int ColumnTankinhalt = myCursor.getColumnIndex("tankinhalt"); 
            
                myCursor.moveToFirst();
                
                if (myCursor != null) {
                    if (myCursor.isFirst()) { 
                        EditText eName = (EditText)findViewById(R.id.ed_KfzName);
                        eName.setText(myCursor.getString(ColumnName));
                        
                        EditText eModel = (EditText)findViewById(R.id.ed_KfzModel);
                        eModel.setText(myCursor.getString(ColumnModel));
                        
                        EditText eBemerkungen = (EditText)findViewById(R.id.ed_KfzBemerkung);
                        eBemerkungen.setText(myCursor.getString(ColumnBemerkung));
                        
                        Spinner sKraftstoffarten = (Spinner)findViewById(R.id.cb_KfzTreibstoffArt);
                        sKraftstoffarten.setSelection(myCursor.getInt(ColumnKraftstoffarten), true);
                        
                        EditText eTankinhalt = (EditText)findViewById(R.id.ed_KfzTankinhalt);
                        eTankinhalt.setText(myCursor.getString(ColumnTankinhalt));
                    }
                }
            }
    
     

Diese Seite empfehlen