C# und MySQL -> Verbindung und Statements aufsplitten

padde77

Grünschnabel
Hi,

ich habe für eine MySQL-Abfrage folgenden Code:

Code:
            string myConnectionString = "SERVER=localhost;DATABASE=db1;UID=db1;PASSWORD=db1;";
            MySqlConnection connection = new MySqlConnection(myConnectionString);
            MySqlCommand command = connection.CreateCommand();
            command.CommandText = "SELECT * FROM usermenu where userid = '1'";
            MySqlDataReader Reader;
            connection.Open();
            Reader = command.ExecuteReader();
            Reader.Read()
            ...
            Reader.Dispose();
            connection.Close();

Nun möchte ich aber bei Programmstart bereits eine Verbindung initialisieren und diese bis zum Programmende immer wieder nutzen.
Wie stelle ich das am geschicktesten an?
Weil das Select kommt ja bereits vor dem connection.Open();

Vielen Dank
padde
 
Hi

einfach den Code etwas umsortieren:
C#:
//Verbindung aufbauen und Variablen machen
String myConnectionString = "SERVER=localhost;DATABASE=db1;UID=db1;PASSWORD=db1;";
MySqlConnection connection = new MySqlConnection(myConnectionString);
connection.Open();

MySqlDataReader reader;
MySqlCommand command;

//Abfrage
command = new MySqlCommand("SELECT * FROM usermenu where userid = '1'", connection);
reader = command.ExecuteReader();
reader.Read()
...
reader.Dispose();

//Abfrage
command = new MySqlCommand("SELECT * FROM andere_tabelle", connection);
reader = command.ExecuteReader();
reader.Read()
...
reader.Dispose();

//Abfrage...

//Verbindung beenden
connection.Close();
 
Hi sheel,

vielen Dank erst mal für die Info.
Kannst du mir evtl. noch sagen, wie ich diesen Code
Code:
//Abfrage
command = new MySqlCommand("SELECT * FROM usermenu where userid = '1'", connection);
reader = command.ExecuteReader();
reader.Read()
...
reader.Dispose();

aus einem Subform aufrufen kann, wobei die eigentliche Connection auf meinem Mainform liegt.

Vielen Dank
padde
 
a) in der Subformklasse eine Variable für die Connection machen.
b) dem Subform-Konstruktor die vorhandene Connection aus dem Mainform als Parameter übergeben und im Konstruktor der Klassenvariable zuweisen
c) die Connection durch die Klassenvariable verwenden.

Das sind Grundlagen, die man sich eigentlich vor Datenbanken anschauen sollte :rolleyes:
 
Zurück