Entwickler-Ecke

Datenbanken (inkl. ADO.NET) - Doppelte Datensätze verhindern(kein distinct,geladene Daten)


Chiyoko - Fr 18.11.11 11:20
Titel: Doppelte Datensätze verhindern(kein distinct,geladene Daten)
Huhu,

Nach langem hin und her habe ich es geschafft, durch einen Connector(6.4) eine mySql Datenbank und VS local auf dem rechner
zu verbinden sowie auszulesen.


C#-Quelltext
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
16:
17:
18:
19:
20:
21:
22:
23:
24:
25:
26:
27:
28:
29:
// ein Beispiel 
if (sender == btnGruppeListviewupdate)
{
    lvGruppenErstellen.Items.Clear();
    ListViewItem item = new ListViewItem();

    string myConnectionString =
        "SERVER=localhost;" +
        "DATABASE=artikel;" +
        "UID=root;";

    MySqlConnection connection = new MySqlConnection(myConnectionString);
    MySqlCommand command = connection.CreateCommand();
    command.CommandText = "SELECT GruppenID, GruppenName FROM gruppenstamm";
    MySqlDataReader Reader;
    connection.Open();
    Reader = command.ExecuteReader();
                
    while (Reader.Read())
    {
        for (int i = 0; i < Reader.FieldCount; i++)
        {
            item = lvGruppenErstellen.Items.Add(Reader.GetValue(0).ToString());
            item.SubItems.Add(Reader.GetValue(1).ToString());
        }
    }

    connection.Close();  
}


Leider sind keine der Klassen und Member dokumentiert.
Ich habe ständig alles doppelt in meiner Listview und komme auch nicht dahinter, woran es liegen kann.

Habt ihr eine idee?Danke.


Chiyoko - Fr 18.11.11 11:41

Ach ...bloeder vorfuehreffekt....ohne schleife geht es.Komisch, eigendlich, denn vorher habe ich es auch schon ohne schleife getestet und da ging es nicht.

Es konnte auch an der doppelten Zuweisung des Button Events gelegen haben.Ich vergesse ganz gerne mal, dass ich solche Events im Konstruktor deklariere.


lothi - Do 01.12.11 15:21

Hallo

Die Klassen sind alle in der MSDN erklärt. Nur nach SQLCommand, SqlDataReader u.s.w suchen.
Sind für jeden Porvider gleich aufgebaut.

Die for Schleife läuft 2x mal durch weil du auch 2 Spalten hast, aber immer die gleichen Spalten abfragst.

Gruss Lothi