1. Nimm jetzt an unserem AGM - Gewinnspiel teil - Informationen zum M1, A2 und A8 findest Du hier, hier und hier!
  1. ensacom, 22.05.2009 #1
    ensacom

    ensacom Threadstarter Android-Hilfe.de Mitglied

    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

    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));
                    }
                }
            }