Daten aus SQL anzeigen

  • 0 Antworten
  • Letztes Antwortdatum
F

Faru12

Neues Mitglied
0
Hallo zusammen,

Ich habe eine kleine Datenbank (SQLite) erstellt, in den man Datum, ein Bild und einen Betrag eintragen kann. Und zwar ist auf der Menü Seite ein Formular, in dem man alles eintragen kann und dann auf einer "Verlauf" Seite werden die Daten angezeigt. Mit Datum und Bild klappt das bis jetzt hervorragend, aber mit dem Betrag habe ich meine Mühe. Ich schaffe es einfach nicht diese Werte zu übertragen. Ich glaube ich sehe vor lauter Bäumen den Wald nicht mehr :huh: :ohmy:

Der Betrag soll aus einem EditText Feld aus dem Layout (main.xml) kommen. android:id="@+id/edit_betrag"

Könnt ihr mir eventuell aushelfen?


Dies ist mein Code:

Code:
public class BudgetRechnerAdapter extends CursorAdapter {

	private final Date datum;

	private static final DateFormat DF_DATE = SimpleDateFormat
			.getDateInstance(DateFormat.MEDIUM);
	private static final DateFormat DF_TIME = SimpleDateFormat
			.getTimeInstance(DateFormat.MEDIUM);
	
	private Integer betrag;

	private static final Integer DF_BETRAG = R.id.edit_betrag;
	private LayoutInflater inflator;
	private int ciAusgabenArt, ciZeit, ciBetrag;

	public BudgetRechnerAdapter(Context context, Cursor c) {
		super(context, c);
		datum = new Date();
		betrag = null;
		inflator = LayoutInflater.from(context);
		ciAusgabenArt = c.getColumnIndex(BudgetRechnerOpenHandler.BUDGET_AUSGABENART);
		ciZeit = c.getColumnIndex(BudgetRechnerOpenHandler.BUDGET_ZEIT);
		ciBetrag = c.getColumnIndex(BudgetRechnerOpenHandler.BUDGET_BETRAG);
		
	}

	@Override
	public void bindView(View view, Context context, Cursor cursor) {
		ImageView image = (ImageView) view.findViewById(R.id.icon);
		int art = cursor.getInt(ciAusgabenArt);
		TextView textView_art = (TextView) view.findViewById(R.id.text3);
		if (art == BudgetRechnerOpenHandler.BUDGET_ESSEN) {
			image.setImageResource(R.drawable.bild_essen);
			textView_art.setText("Essen");
		} else if (art == BudgetRechnerOpenHandler.BUDGET_GETRAENK) {
			image.setImageResource(R.drawable.bild_getraenk);
			textView_art.setText("Getränk");
		} else {
			image.setImageResource(R.drawable.bild_sonstiges);
			textView_art.setText("Sonstiges");
		}
		TextView textView_Datum = (TextView) view.findViewById(R.id.text1);
		TextView textView_Zeit = (TextView) view.findViewById(R.id.text2);
		TextView textView_betrag = (TextView) view.findViewById(R.id.text4);
		
		
		long zeitStempel = cursor.getLong(ciZeit);
		datum.setTime(zeitStempel);
		textView_Datum.setText(DF_DATE.format(datum));
		textView_Zeit.setText(DF_TIME.format(datum));
		textView_betrag.setText(DF_BETRAG.toString());
		
	}

	@Override
	public View newView(Context context, Cursor cursor, ViewGroup parent) {
		return inflator.inflate(R.layout.verlauf, null);
	}
}


Code:
public class BudgetRechnerOpenHandler extends SQLiteOpenHelper {

	private static final String TAG = BudgetRechnerOpenHandler.class
			.getSimpleName();

	// Name und Version der Datenbank
	private static final String DATABASE_NAME = "budgetrechner.db";
	private static final int DATABASE_VERSION = 1;

	// Name und Attribute der Tabelle "Budget"
	public static final String _ID = "_id";
	public static final String TABELLE_NAME_BUDGET = "budget";
	public static final String BUDGET_ZEIT = "zeitStempel";
	public static final String BUDGET_AUSGABENART = "ausgabenArt";
	public static final String BUDGET_BETRAG = "betrag";

	// Konstanten für die Stimmungen
	public static final int BUDGET_ESSEN = 1;
	public static final int BUDGET_GETRAENK = 2;
	public static final int BUDGET_SONSTIGES = 3;
	

	// Tabelle Budget anlegen
	private static final String TABELLE_BUDGET_ERSTELLEN = "CREATE TABLE "
			+ TABELLE_NAME_BUDGET + " (" + _ID
			+ " INTEGER PRIMARY KEY AUTOINCREMENT, " + BUDGET_ZEIT + " INTEGER, "
			+ BUDGET_BETRAG + " INTEGER," + BUDGET_AUSGABENART + " INTEGER);";
	// Tabelle Budget löschen
	private static final String TABELLE_BUDGET_DROP = "DROP TABLE IF EXISTS "
			+ TABELLE_NAME_BUDGET;

	BudgetRechnerOpenHandler(Context context) {
		super(context, DATABASE_NAME, null, DATABASE_VERSION);
	}

	@Override
	public void onCreate(SQLiteDatabase db) {
		db.execSQL(TABELLE_BUDGET_ERSTELLEN);
	}

	@Override
	public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) {
		Log.w(TAG, "Upgrade der Datenbank von Version " + oldVersion + " zu "
				+ newVersion + "; alle Daten werden gelöscht");
		db.execSQL(TABELLE_BUDGET_DROP);
		onCreate(db);
	}

	public void insert(int art, String beschreibung, long zeit) {
		long rowId = -1;
		try {
			// Datenbank öffnen
			SQLiteDatabase db = getWritableDatabase();
			// die zu speichernden Werte
			ContentValues wert = new ContentValues();
			wert.put(BUDGET_AUSGABENART, art);
			wert.put(BUDGET_BETRAG, beschreibung);
			wert.put(BUDGET_ZEIT, zeit);
			// in die Tabelle Budget einfügen
			rowId = db.insert(TABELLE_NAME_BUDGET, null, wert);
		} catch (SQLiteException e) {
			Log.e(TAG, "insert()", e);
		} finally {
			Log.d(TAG, "insert(): rowId=" + rowId);
		}
	}

	public Cursor query() {
		// ggf. Datenbank öffnen
		SQLiteDatabase db = getWritableDatabase();
		return db.query(TABELLE_NAME_BUDGET, null, null, null, null, null,
				BUDGET_ZEIT + " DESC"
			);
	}

	public void update(long id, int ausgabe_art_zahl) {
		// ggf. Datenbank öffnen
		SQLiteDatabase db = getWritableDatabase();
		ContentValues values = new ContentValues();
		values.put(BUDGET_AUSGABENART, ausgabe_art_zahl);
		int numUpdated = db.update(TABELLE_NAME_BUDGET, values, _ID + " = ?",
				new String[] { Long.toString(id) });
		Log.d(TAG, "update(): id=" + id + " -> " + numUpdated);
	}

	public void delete(long id) {
		// ggf. Datenbank öffnen
		SQLiteDatabase db = getWritableDatabase();
		int numDeleted = db.delete(TABELLE_NAME_BUDGET, _ID + " = ?",
				new String[] { Long.toString(id) });
		Log.d(TAG, "delete(): id=" + id + " -> " + numDeleted);
	}
}
 
Zurück
Oben Unten