| 

.NET C# Java Javascript Exception

1
Ich bin gerade dabei, einen Vokabeltrainer für mich zu programmieren, um meine fremdsprachlichen Kenntnisse aufzubessern und weils eine weitere Übung für mich ist. Die Vokabeln werden in einer Datenbank gespeichert, wobei ich nur eine Tabelle habe:

Die Tabelle: Vokabeln (VokNr [AutoWert], VokDeutsch[Text], VokSpanisch[Text], VokFach[Integer])

Jede Vokabel hat eine Nummer und ein Fach, das zwischen 1 und 5 liegt. wenn man bei Google unter Mnemotechnicken sucht, dann findet man dort den Hinweis, dass man Vokabeln auf diese Weise gut lernen kann, in dem jede Vokabel ein Fach nach oben geht, wenn man es richtig aufsagt / aufschreibt und in Fach 1 wenn man es falsch aufsagt / aufschreibt. Nach diesem Prinzip wollte ich mein Vokabeltrainer auch machen.

Jetzt mache ich folgendes: Als erstes Suche ich mir alle Vokabeln, die in einem bestimmten Fach sind und bekomme eine List<int> mit den Nummern der Vokabeln zurück.
Im zweiten Schritt suche eine Zahl da raus.
Im dritten Schritt hole ich dann eben das deutsche und in diesem Fall das spanische Wort heraus.

Hier der Quelltext von der Funktion die mir die beiden Wörter holt:
private string[] LoadVokFromDB(int voknr)
{
string[] erg = new string[2];
try
{
string strConnectionString = "Provider=Microsoft.Jet.OLEDB.4.0;";
strConnectionString += "Data Source=Vok.mdb";

string readComm = String.Format("SELECT * FROM Vokabeln WHERE VokNr={0}", voknr);

OleDbConnection connection = new OleDbConnection(strConnectionString);
connection.Open();

OleDbCommand command = new OleDbCommand(readComm, connection);
OleDbDataReader reader = command.ExecuteReader();

int vokdeutsch = reader.GetOrdinal("VokDeutsch");
int vokspanisch = reader.GetOrdinal("VokSpanisch");

erg[0] = (string)reader.GetValue(vokdeutsch);
erg[1] = (string)reader.GetValue(vokspanisch);
}
catch (Exception exc)
{
MessageBox.Show(exc.Message, "Fehler: LoadVokFromDB", MessageBoxButtons.OK, MessageBoxIcon.Error);
}

return erg;
}


Jetzt bekomme ich aber die Fehlermeldung:
Keine Daten für die Zeile / Spalte


Der Fall ist so: Ich übergebe an die Funktion die Zahl 7. Und ich weiß, dass es einen Eintrag mit der Zahl 7 (VokNr) in der Tabelle gibt. Warum kommt dann die Fehlermeldung ?

EDIT: Ich hab die Lösung selbst herausgefunden. Da sollte noch ein Read-Befehl rein. Also
reader.Read();
News:
21.07.2012
starki 603 1 8
starki 603 1 8
TOP TECHNOLOGIES CONSULTING GmbH