*Markus: Wie WHERE-Bedingung in C# übergeben?

Beitrag lesen

Hallo,

wie sieht es in C# aus, wenn man MS-Access-Abfragen nach einem bestimmten Kriterium mit WHERE macht?
Meine bisherigen Versuche sehen so aus:

OleDbCommand command = new OleDbCommand("SELECT vorname, geburtsjahr FROM person1 WHERE geschlecht = ?", connection);
try   {
command.Parameters.Add(new OleDbParameter("@geschlecht", OleDbType.Char) );
}
catch (OleDbException exc)  {
    Console.WriteLine("Fehler: " + exc.Message);
}
command.Parameters["@geschlecht"].Value = s;

..wobei command.Parameters.Add("@geschlecht", OleDbType.Char ); ebenfalls nichts bewirkt.
Ich weiß jetzt gar nicht, ob es wieder mal ein Mono-Bug ist, da es schon bei ArrayList Probleme macht, wodurch die Fehlermeldung auch nicht besonders aufschlussreich ist:

Error at Line : syntax error near ?

Unhandled Exception: System.NullReferenceException: Object reference not set to an instance of an object
  at DataReader.PrintSex (System.String s) [0x00000]
  at DBManager.PrintSex (System.String sex) [0x00000]
  at Menu.showMenu () [0x00000]
  at Datenbankprogramm.MainClass.Main (System.String[] args) [0x00000]

Wenn ich eine zusätzliche Catch-Klausel einfüge ändert sich an der Fehlermeldung nichts.
Wo liegt der Fehler?

Markus