Hilfe zur Selbsthilfe

22/06/2009 - 10:36 von Markus | Report spam
Hallo Zusammen,

ich suche mir immer wieder den Wolf und denke wohl ich stell mich dabei zu
blöd an.
Vielleicht habt Ihr ein paar Ratschlàge wie das besser geht. Es geht mir
also nicht nur um die konkrete Hilfe zu meinem aktuellen Problem, sondern
ich würde gerne wissen (Exemplarisch an dem Beispiel) wie ihr die
Informationen finden würdet. Wo muss ich suchen um so einfache Probleme zu
lösen???


Problemstellung:
Ich will aus einer Access Datenbank die erste Spalte auslesen und diese in
eine Listbox schreiben.
Ich habe angefangen die Funktion zu schreiben und bin dann an zwei,
sicherlich ganz einfachen, Stellen gescheitert.

Funktion in der Klasse für den Access Zugriff:
// Get All Methode
//Datenbankspalte ART holen und in eine Liste schreiben
public string[] arten()
{
verbindung.Open();

string[] arten = new string[3]; // 3 Muss durch Anzahl ROWs
ersetzt werden

string strSQL = "SELECT * FROM Kategorie";

OleDbCommand cmd = new OleDbCommand(strSQL, verbindung);
OleDbDataReader dr = cmd.ExecuteReader();
int i = 0;
while (dr.Read())
{
arten[i] = (dr[0].ToString());
i = ++i;
}
dr.Close();
verbindung.Close();
return arten;
}

Ich rufe aus dem Formular über einen Button die Funktion auf und möchte dann
ein Array zurückgeben, dass die entsprechenden Werte enthàlt.
Um das Array richtig füllen zu können, brauche ich die Anzahl der Zeilen in
der Datenbank.
Also erster Punkt, wie finde ich solche CodeSchnippsel zum lernen.
OleDbCommand mit C#.
Habe Stunden damit zugebracht, immer wieder verschiedene Sachen die ich
gefunden habe, versucht zusammen zu bringen aber keinen funktionierenden
Code zustande gebracht.

Zweite Frage also war, wie fülle ich ne Listbox.
Ich habe nen Button mit folgendem Code, der mir fröhlich array[] in meine
Listbox schreibt :)
private void arten_Click(object sender, RoutedEventArgs e)
{
string[] arten;
arten = katDAO.arten();
lstbox_arten.Items.Add(arten);
}

Auch hier habe ich immer wieder in der Hilfe, im Web und sonst wo gesucht
und nicht funktionierendes gefunden oder erstellen können.

Wàre also super, wenn Ihr mir mal son paar Tipps fürs Suchen geben könntet,
kann ja nicht wegen jedem kleinen Ding groß Fragen stellen :)

Gruß Markus
 

Lesen sie die antworten

#1 Martin Horst
22/06/2009 - 15:25 | Warnen spam
Hi,

zu Punkt 1: Anstatt eines Arrays nimmer einfach List<string>, dann
spielt es keine Rolle, wieviele Daten kommen.

Zu Punkt 2: In deinem Fall mußt du AddRange anstelle von Add verwenden.
Listboxen, Comboboxen usw. Nehmen für jeden Eintrag einen Wert vom Typ
object engegen. Dort rufen sie dann die ToString Methode auf, um den
Text zu bekommen.

Gruß
Martin

Ähnliche fragen