Deine Kategorie enthält nur eine Frage?
Vielleicht erstmal den Code ein wenig gerade rücken. Bei deiner Abfrage wird genau ein Datensatz mit einer Spalte returned ein DataReader ist da überflüssig. Ein DBCommand hat dafür eine ExecuteScalar Methode.
Ein
C#-Quelltext
1: 2: 3: 4: 5: 6: 7: 8: 9: 10: 11:
| public int DatenbankAbfrageAnzahl(string kategorie) { using(OleDbConnection con = new OleDbConnection(@"Provider=Microsoft.Jet.OLEDB.4.0; Data Source=C:\Max\4.Klasse\PPM\Rette_die_Million\Rette_die_Million_3.0\DB_Fragen.mdb")) { con.Open(); using(OleDbCommand cmd = new OleDbCommand("SELECT COUNT(*) FROM Fragen WHERE kategorie=" + kategorie, con); { return Convert.ToInt32(cmd.ExecuteScalar()); } } } |
sollte vollkommen ausreichen. Dein Exceptionhandling (habe ich mal explizit weggelassen) solltest du nochmal überdenken du kapselst damit nur den Convert.ToInt32 Aufruf. Der wird sicher nie eine OleDbException auslösen.