Für die Nutzung des DataReaders habe ich mir eine kleine Klasse geschrieben:
using Microsoft.CSharp;
using System.Data;
using System.Data.OleDb;
public class DBConnect
{
private OleDbConnection DBConnection;
private int ergebnis;
public DBConnect() // Verbindung Initialisieren
{
DBConnection = new OleDbConnection();
DBConnection.ConnectionString = @" ... ";
}
public void Open() // Verbindung öffnen
{
if (DBConnection.State != ConnectionState.Open)
{
DBConnection.Open();
}
}
public void Close() // Verbindung schiessen
{
if (DBConnection.State == ConnectionState.Open)
{
DBConnection.Close();
}
}
public OleDbDataReader SQLSelect(string strDBSQL) // SELECT Abfrage stellen
{
Close();
Open();
OleDbCommand objDBCommand = new OleDbCommand(strDBSQL,DBConnection);
OleDbDataReader objDBReader = objDBCommand.ExecuteReader();
return (objDBReader);
}
public int SQLExecute (string strDBSQL)
{
Close();
Open();
OleDbCommand objDBCommand = new OleDbCommand(strDBSQL,DBConnection);
ergebnis = objDBCommand.ExecuteNonQuery();
return (ergebnis);
}
} ///Ende class DBConnect
Damit lassen sich:
- Select-Befehle übergeben und das Ergebnis mit Databind() an ein Objekt binden
- Insert und Update-Befehle an die Datenbank absetzen
DBConnect myDBConnection = new DBConnect();
strSQL = "update ... ";
ergebnis = myDBConnection.SQLExecute(strSQL);
...
strSQL = "select ... ";
OleDbDataReader mySQLSelect = myDBConnection.SQLSelect(strSQL);
objKategorie.DataSource = OleDbDataReader
objKategorie.DataBind()