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
in der hv_mysqlsammlung.cs habe ich folgende Read-Methode
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
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!"); } }
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;
}
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