Probleme mit Cursor

  • 1 Antworten
  • Letztes Antwortdatum
ensacom

ensacom

Ambitioniertes Mitglied
6
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();
 
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));
                }
            }
        }
 
Zurück
Oben Unten