Autor Beitrag
mameolan
Hält's aus hier
Beiträge: 2

*bsd, linux, windows
Kdevelop, c/c++, c#, mono, VS 2005, monodevlop
BeitragVerfasst: Fr 10.08.07 12:06 
Hallo erstmal,

ich habe follgende frage. wie macht ihr das immer so mit SqlCommand in funktionen.
schließt ihr jedesmal im hauptprogramm die datenbank verbindung oder schließt ihr die verbindung
in jeder funktion?

ausblenden C#-Quelltext
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
16:
17:
18:
19:
public void database_output(string tabelle, SqlConnection verbindung)
        {
            //select 
            SqlCommand sql = new SqlCommand("Select * FROM " + tabelle, verbindung);
            sql.CommandType = CommandType.Text;
            SqlDataReader result = sql.ExecuteReader();
            while (result.Read())
            {
                int spaltenzahl = result.FieldCount;
                Console.WriteLine("-----------------");
                for (int i = 0; i < spaltenzahl; i++)
                {
                    Console.WriteLine(result.GetName(i) + ":\t\t");
                    Console.WriteLine(result.GetValue(i));
                }
                Console.WriteLine("-----------------");
            }
            result.Close();
 }


Tschau

Moderiert von user profile iconChristian S.: Code- durch C#-Tags ersetzt
Moderiert von user profile iconChristian S.: Topic aus C# - Die Sprache verschoben am Fr 10.08.2007 um 12:34
JüTho
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 2021
Erhaltene Danke: 6

Win XP Prof
C# 2.0 (#D für NET 2.0, dazu Firebird); früher Delphi 5 und Delphi 2005 Pro
BeitragVerfasst: Fr 10.08.07 14:41 
Bei ADO.NET wird eine Verbindung immer nur so lange geöffnet, wie sie für die aktuelle Arbeit benötigt wird. Dies ergibt sich aus allen Beispielen der SDK-Doku.

Also: grundsätzlich vor einem DbCommand DbConnection.Open und danach DbConnection.Close ausführen; Ausnahme allenfalls dann, wenn unmittelbar nacheinander mehrere Befehle kommen (natürlich auch bei einer Transaction).

Jürgen
mameolan Threadstarter
Hält's aus hier
Beiträge: 2

*bsd, linux, windows
Kdevelop, c/c++, c#, mono, VS 2005, monodevlop
BeitragVerfasst: Fr 10.08.07 19:16 
nun ja ist eine c# konsolen Anwendung soll später als windowsform anwendung laufen.
ich fands bloss blöd, dass ich ich in einer for-Schleife jeweils verbindung auf und zumachen musste, weil ich sonst fehler bekomme.

tschau