title image


Smiley Connection-Klasse
Hallo,



als C#-Anfänger habe ich ein ziemlich allgemeines Verständnisproblem:

Mein Projekt besitzt mehrere Klassen, die für unterschiedliche Datenbank-Tabellen-"Gruppen" gelten. Ein Beispiel ist die Klasse CUser, die sich um die Benutzerdaten kümmert. Um Daten aus der Datenbank zu bekommen, benötige ich eine OracleConnection.



Im OOP-Sinne dachte ich mir, ich mache eine Klasse CConnection, die sich um die Verbindung zur DB kümmert. Diese Klasse wird zu Beginn einmalig instanziert und während des ganzen Prozesses wird diese Instanz verwendet. Dabei stehe ich nun vor folgenden Problemen:

1. Die Klasse CConnection von OracleConnection abzuleiten funktioniert nicht, da OracleConnection wohl "sealed" ist.

2. Wenn ich eine Instanz von von CConnection erstelle und die darin erstellte Connection in CUser benutze, meint der Compiler, er könne nicht von CConnection nach OracleConnection konvertieren.

3. Wie schaut es mit Connection-Pooling aus? Verbaue ich mir diese Möglichkeit, wenn ich eine eigene Klasse baue?



Hier mal ein paar Codeschnipsel:

(Aus der Klasse CConnection)

------------------------------------------------------

public class CConnection {

private OracleConnection oraConn;

public CConnection(){

this.oraConn = new OracleConnection("blabla");

}

public CConnection Connection {

get {return this.oraConn;}

}

}//end

------------------------------------------------------



(Aus der Hauptklasse)

------------------------------------------------------

public class CHauptklasse {

private CConnection mConnection;



public CConnection Connection {

get {return this.mConnection;}

}



public CHauptklasse() {

this.mConnection = new CConnection();

}

------------------------------------------------------



(Aus der Klasse CUser)

------------------------------------------------------

private CHauptklasse mHauptklasse;



public Dataset Lesen() {

...

daUser.SelectCommand = new OracleCommand("SELECT * FROM user", mRPADL.Connection);

...

return ds;

------------------------------------------------------



Oder sollte ich in CHauptklasse einfach nur eine Verbindung aufbauen und die dann immer aufrufen? Wenn ja, wie?



Ich hoffe, ich habe mein Problem ausreichend beschrieben. Ich bin (als Anfänger) für jede Hilfe dankbar.



Danke,

MIKE :o)
Viele Grüße, MIKE :o)

geschrieben von

Login

E-Mail:
  

Passwort:
  

Beitrag anfügen

Symbol:
 
 
 
 
 
 
 
 
 
 
 
 
 

Überschrift: