Schau mal ins Archiv, ich habe das letzte Woche erst gefragt. Ich
selbst habe mich jetzt inzwischen dafür entschieden die Connections
jedesmal wieder auf- und zuzumachen wenn ich sie brauche bzw. eben
nicht mehr. Die gefühlte Performance (Tracing) hat sich auch nicht
verschlechtert.
Aber konkret zu deinen Fragen (in C#, keinen Bock mich 10 MInuten
nachm aufstehen in Bäh-VB reinzudenken :-P):
1. Du könntest die Connection vorab global öffnen und am Ende wieder
schließen. Nützlich zum Beispiel wenn du innerhalb einer Methode
weitere Methoden (Subs), zum Beispiel rekursiv, aufrufst:
class MyClass
{
SqlConnection connection = new SqlConnection();
private void DoSomething()
{
connection.Open();
DoSomethingElse();
Connection.Close();
}
private void DoSomethingElse()
{
SqlCommand cmd = new SqlCommad();
cmd.Connection = connection;
...
cmd.Execute ...
}
}
2.
SqlConnection connection = new SqlConnection();
connection.Open();
try
{
// Code
}
catch
{
// error
}
finally
{
connection.Close();
}
-> Wenn ein Fehler beim Verbindungsaufbau entsteht, dann musst du die
Connection imho auch nicht schließen. D.h. das öffnen kannst du getrost
außerhalb des Blocks machen.
Davon abgesehen würde ich dringend abraten try/catch zu benutzen, wo
es nur geht.
Gruß, Thomas
http://blogs.dotnetgerman.com/thomas/
> -----Original Message-----
> From: [EMAIL PROTECTED]
> [mailto:[EMAIL PROTECTED] On Behalf Of [EMAIL PROTECTED]
> Sent: Friday, August 05, 2005 8:02 AM
> To: [email protected]
> Subject: [Asp.net] Datenbak connection
>
> Hallo,
>
> ich brauche in mehreren subs verbindungen zur datenbank,
> bisher mache ich es
> so das ich die verbindung in jeder sub aufbau un am ende
> wieder abbaue.
>
> Dazu habe ich folgende fragen:
>
> 1. Gibt es eine bessere Möglichkeit, wenn ich es auslagere
> habe ich das
> Problem, das ich die Verbindung nicht so einfach wieder
> schließen kann, da
> ich ja erst mein reult objekt zurückgeben muss.
>
> 2. Wenn ich es in jeder funktion drin lasse, dann würde ich
> es gerne in
> einem try catch block machen, da ist jedoch das problem, dass
> ich möchte das
> aufjedenfall die verbindung (conDB.close) wieder geschlossen
> wird egal ob es
> zu einem fehler kam, wenn ich jedoch die verbindung im try
> aufbaue und es
> kommt vorher zu einem fehler kann ich die verbindung im finally nicht
> schließen lassen, da das objekt dann noch nicht erzeugt ist.
>
> Hat jemand eine gute Idee ?
>
> vielen Dank
>
> oli
> _______________________________________________
> Asp.net Mailingliste, Postings send
en an:
> [email protected]
> An-/Abmeldung und Suchfunktion unter:
> http://www.glengamoi.com/mailman/listinfo/asp.net
>
_______________________________________________
Asp.net Mailingliste, Postings senden an:
[email protected]
An-/Abmeldung und Suchfunktion unter:
http://www.glengamoi.com/mailman/listinfo/asp.net