ADO.NET Access --- ausgelesene Daten in nutzbare Variable

Mammon

Grünschnabel
Hallo zusammen.

Ich bin gerade dabei ein Programm zu schreiben, welches einem Stempelkarten-System ähnelt.
In einer bereits vorhandenen DB sind die Daten der Mitarbeiter bereits vorhanden. Diese sollen zum Teil ausgelesen, verarbeitet und geupdatet werden.

Allerdings habe ich Probleme beim Verarbeiten. Ich bekomme die Daten zwar per

Code:
public void Csharp_Access_Datenbank()
        {
            OleDbConnection con = new OleDbConnection(
               @"Provider=Microsoft.Jet.OLEDB.4.0;
     Data Source=C:\Projekt 09 \Projekt09.mdb");
            con.Open();
            
            //Auswahl der Datensätze
            string strSQL = "SELECT Nummer FROM Arbeiter";

            OleDbCommand cmd = new OleDbCommand(strSQL, con);
            OleDbDataReader dr = cmd.ExecuteReader();

            while (dr.Read())
            {

                MessageBox.Show(dr[0].ToString());
                 //Daten sollen von dr in a geschrieben werden         
            }

            dr.Close();
            con.Close();
        }

eingelesen. Aber ich habe das Problem, dass ich es nicht in andere string-Variable geschrieben bekomme. Hat jemand eine Idee und kann mir sagen, wie ich das geregelt bekomme?

Außerdem würde ich gern die Auswahl der Datensätze auf einen Datensatz beschränken, und zwar auf einen String, den ich vorher schon in eine Variable geschrieben habe. Habe es bereits auf zwei Varianten versucht:

Code:
string strSQL = "SELECT Nummer FROM Arbeiter WHERE Nummer=' "+ a +" ' ";

Da, glaube ich, mag das Programm nicht, das ich ihm eine Variable gebe.

Und:
Code:
OleDbCommand cmdSelect = new OleDbCommand(); 
cmdSelect.CommandText = "SELECT Nummer FROM Arbeiter WHERE Nummer = @p1";
cmdSelect.Parameters.Add("p1", OleDbType.String).Value = a;

Hier kann es sein das ich mich bei der Instanzsetzung vertan habe. Ich bin mir aber nicht sicher. Woran könnte es ansonsten noch liegen?

Habe mir auch bereits das OpenBook zu den passenden Themen gelesen, habe aber leider nichts passendes dazu gefunden.

Ich hoffe ihr könnt mir helfen.

MfG
Mammon
 
Zurück