verwendetes Datenbanksystem: Mysql/MariaDB
ich habe in einer DB viele Einträge, mit folgendem Code versuche ich diese auszulesen, was auch sehr gut klappt, bis auf die Tatsache, dass er einfach Einträge vergisst
MySqlConnection mySqlConnection = new MySqlConnection(Connectionstring);
mySqlConnection.Open();
MySqlCommand command = mySqlConnection.CreateCommand();
command.CommandText = "SELECT * FROM a_roomByKats";
IDataReader reader = command.ExecuteReader();
while (reader.Read())
{
if (reader.Read())
{
string roomID = reader[0].ToString();
string roomKatID = reader[1].ToString();
string roomName = reader[2].ToString();
string roomDescription = reader[3].ToString();
listBox2.Items.Add(roomID.ToString());
Console.WriteLine(roomID.ToString() + " - " + roomKatID.ToString() + " - " + roomName.ToString() + " - " + roomDescription.ToString());
}
}
reader.Close();
command.Dispose();
mySqlConnection.Close();
fehlt
2 - 2 - Kassel - Kassel Cannel
fehlt
4 - 2 - Bayern - Bayern
fehlt
6 - 2 - Brandenburg - Brandenburg
fehlt
8 - 2 - Hamburg - Hamburg
fehlt
10 - 2 - Mecklenburg-Vorpommern - Mecklenburg-Vorpommern
fehlt
fehlt
13 - 2 - Saarland - Saarland
fehlt
15 - 2 - Sachsen-Anhalt - Sachsen-Anhalt
fehlt
fehlt
17 - 2 - Thüringen - Thüringen
er ließt nur jeden 2 oder 3ten Eintrag aus, woran könnte es liegen?
Weil du zwei mal reader.Read()
aufrufst, bevor du etwas mit den Daten machst.
Weil du zwei mal
reader.Read()
aufrufst, bevor du etwas mit den Daten machst.
ohjee, manchmal sieht man den wald vor lauter bäumen nicht, vielen dank 😃
command.CommandText = "SELECT * FROM a_roomByKats";
Absolutes NoGo - auch nicht zum Testen. Niemals Daten per * abrufen...
Damit die Aussage von Stefan auch begründet ist:
Why is SELECT * considered harmful?
- performance is a feature -
Microsoft MVP - @Website - @AzureStuttgart - github.com/BenjaminAbt - Sustainable Code