Announcement

Collapse
No announcement yet.

MySQL und DataRead

Collapse
X
  • Filter
  • Time
  • Show
Clear All
new posts

  • MySQL und DataRead

    Hallo, hier wieder ein Anfänger.

    Ich spreche in MySQL eine Datenbank an. Das funktioniert einwandfrei. Allerdings habe ich ein Problem mit dem DataRead.

    Ich möchte in einer extra Klasse die Dateninhalte in der Datenbank einzeln abrufen können. Ich habe es mit GetValue(int i) probiert. Allerdings muss ich dann das DataRead komplett in der Methode durchlaufen lassen.

    Beispiel:

    unter MainWindow.xaml.cs ist folgender Code in einer Methode

    Code:
    private void btnAnmelden_Click(object sender, RoutedEventArgs e)
            {
                hv_mysqlsammlung hv_sql = new hv_mysqlsammlung("localhost","3306","hotelverwaltung","root","root");
    
                //zuerst das Anmelden an die Datenbank
                if (hv_sql.hv_mysql_Verbindung() == "Verbindung aufgebaut")
                {
                    //hv_sql.hv_mysql_Verbindung();
    
                    string test;
                    string test1;
    
                    test1 = hv_sql.hv_mysql_DatenLesen("*", "login",1);
                    test = test1;
    
                    test1 = hv_sql.hv_mysql_DatenLesen("*", "login", 2);
                    test = test + test1;
    
                    MessageBox.Show(test);
    
                    //hv_sql.hv_mysql_Trennen();
                }
                else
                {
                    MessageBox.Show("Verbindung zur Datenbank nicht erfolgt!");
                }
            }
    in der hv_mysqlsammlung.cs habe ich folgende Read-Methode

    Code:
            MySqlConnection MySql_Connection;
    
            MySqlCommand MySql_Command;
    
            public hv_mysqlsammlung (String mysql_SERVERNAME, String mysql_PORTNUMMER, String mysql_DATENBANKNAME, String mysql_BENUTZERNAME, String mysql_PASSWORT) 
            {
                MySql_Connection = new MySqlConnection
                        ( "SERVER=" + mysql_SERVERNAME + ";PORT=" + mysql_PORTNUMMER + ";DATABASE="
                        + mysql_DATENBANKNAME + ";UID=" + mysql_BENUTZERNAME + ";PASSWORD=" + mysql_PASSWORT );
    
                MySql_Command = MySql_Connection.CreateCommand();
            }
    
            public string hv_mysql_Verbindung()
            {
                    //verbindung zur datenbank aufbauen
                    MySql_Connection.Open();
                    return "Verbindung aufgebaut";
            }
    
            
    public string hv_mysql_DatenLesen(string strSELECTION, string strTABELLENNAME, int intVALUE) 
            {
                    string RW_Values="";
    
                    MySqlDataReader MySql_DataReader;
    
                    MySql_Command.CommandText = "SELECT " + strSELECTION + " FROM " + strTABELLENNAME + ";";
    
                    MySql_DataReader = MySql_Command.ExecuteReader();
    
                    MySql_DataReader.Read();
    
                    RW_Values = MySql_DataReader.GetValue(intVALUE).ToString();
                    
                    //rückgabewert
                    //return "Daten gelesen";
                    return RW_Values;
                }
    Ich bekomme somit immer nur den ersten Datensatz in der Datenbank, wenn ich aus der MainWindow.xaml.cs die Daten auslesen möchte.

    Wie kann ich gezielt aus einer Datenbankzeile die einzelen Daten herausholen, ohne dass ich eine schleife über das DataRead legen muss?

    Bzw.: Was muss ich anstatt

    RW_Values = MySql_DataReader.GetValue(intVALUE).ToString();

    Verwenden um in der dritten Zeile die spalte Fünf auszulesen.


    Ich benutze C#-Express und MySQL 5.5.1

    Vielen Dank für Eure Hilfe

    Gruß

    Lerando
Working...
X