MySQL in C#

sonny411

Mitglied
Hallo Leute,

habe riesen Probleme mit MySQL unter C#
Wenn ich diesen Code ausführe, gibt er mir nur den ganz erste Wert aus der Tabelle aus.

Code:
            OdbcConnection cn;
            OdbcCommand cmd;
            string MyString;

            MyString = "Select * from services_06_07";

            cn = new OdbcConnection("Driver={MySQL ODBC 3.51 Driver};Server=172.16.0.13;UID=michael;PWD=xxxxx;Database=tmobile_spielwiese;");

            cmd = new OdbcCommand(MyString, cn);
            cn.Open();

            cmd.CommandText = "SELECT * FROM services_06_07 ";

            for (int i = 0; i < 40; i++)
            {
                Console.WriteLine(cmd.ExecuteScalar());
            }
                

            cn.Close();

Wie kann ich nun eine ganze Zeile ausgeben?
Wie kann ich die ganze Tabelle ausgeben?

lg
SONNY411
 
Du solltest dir in der MSDN die Beschreibungen zu den einzelnen Klassen und Methoden durchlesen. Bei ExecuteScalar steht explizit dabei, dass nur der erste Wert zurückgegeben wird. Das was du willst ist ExecuteReader.
 
Danke Norbert! Hab das Problem schon gelöst:

Code:
InitializeComponent();
            string connectionString =
"Server=172.16.0.13;" +
"Database=tmobile_spielwiese;" +
"Port=3306;" +
"User ID=michael;" +
"Password=xxxx;" +
"Pooling=false";
            IDbConnection dbconn;
            dbconn = new MySqlConnection(connectionString);
            dbconn.Open();
            IDbCommand dbcmd = dbconn.CreateCommand();
            string sql = "Select * from services_06_07 limit 20";
            dbcmd.CommandText = sql;
            IDataReader reader = dbcmd.ExecuteReader();
            while (reader.Read())
            {
                string knr = (string)reader["knr"];
                string tarif = (string)reader["tarif"];
                string rufnummer = (string)reader["anummer"];
                lv_ausgabe.Items.Add(new ListViewItem(new string[] { knr, tarif, rufnummer }));
                
                    //Console.WriteLine("Kundennummer: " + knr + "\tTarif: " + tarif + "\t Rufnummer: " + rufnummer);
            }
            // clean up
            reader.Close();
            reader = null;
            dbcmd.Dispose();
            dbcmd = null;
            dbconn.Close();
            dbconn = null;
 
Zurück