1 Pluspunkt 0 Minuspunkte

Ich habe einen lokalen Xampp Server installiert und versuche gerade mit C# und MySQL eine einfache SELECT Abfrage durchzuführen und das Ergebnis in der Console anzuzeigen.

using System;
using MySql.Data.MySqlClient;

namespace ConsoleApp1
{
    class ConsoleApp1
    {
        private static MySqlConnection conn;
        static void connect()
        {
            string server = "localhost";
            string database = "mysql";
            string user = "root";
            string password = "";
            string port = "3306";
            string sslM = "none";

            string connString = String.Format("server={0};port={1};user id={2}; password={3}; database={4}; SslMode={5}", server, port, user, password, database, sslM);

            conn = new MySqlConnection(connString);
            try
            {
                conn.Open();

                Console.WriteLine("Connection Successful");

                string query = "SELECT * FROM User";
                MySqlCommand cmd = new MySqlCommand(query, conn);

                MySqlDataReader reader;
                reader.ExecuteReader(cmd);

                while (reader.Read())
                {
                    Console.WriteLine("ID: {0}, Name: {1}", reader["Host"], reader["User"]); 
                }

                reader.Close();

                conn.Close();
            }
            catch (MySqlException e)
            {
                Console.WriteLine(e.Message + connString);
            }

        }

        static void Main(string[] args)
        {
            connect();
            Console.ReadLine();
        }
    }
}

Im Debugger wird eine Fehlermeldung angezeigt.

Erstellen gestartet...
1>------ Erstellen gestartet: Projekt: ConsoleApp1, Konfiguration: Debug Any CPU ------
1>C:\Users\andi\ConsoleApp1\ConsoleApp1\Program.cs(32,24,32,37): error CS1061: "MySqlDataReader" enthält keine Definition für "ExecuteReader", und es konnte keine zugängliche ExecuteReader-Erweiterungsmethode gefunden werden, die ein erstes Argument vom Typ "MySqlDataReader" akzeptiert (möglicherweise fehlt eine using-Direktive oder ein Assemblyverweis).
1>C:\Users\andi\ConsoleApp1\ConsoleApp1\Program.cs(32,17,32,23): error CS0165: Verwendung der nicht zugewiesenen lokalen Variablen "reader".
========== Erstellen: 0 erfolgreich, 1 fehlerhaft, 0 aktuell, 0 übersprungen ==========

Wie kann ich die Abfrage richtig ausführen?

von  

1 Antwort

0 Pluspunkte 0 Minuspunkte

Anstelle von

MySqlDataReader reader;
reader.ExecuteReader(cmd);

müsste es so aussehen.

MySqlDataReader reader = cmd.ExecuteReader();

von (732 Punkte)