Permalänk
Medlem

C# och SQL

Hej!

Har en uppgift att göra i skolan, har löst det mesta men har fastnat på följande problem:

Har en knapp som heter Get Info From Database där jag har följande kod:

string sql = "SELECT Veckodag, Avgång, Hemresa, Från, Till, Pris FROM tblResor INNER JOIN tblDestination ON tblResor.Resedestination = tblDestination.ID";

Problemet är att när jag använder mitt program för att printa ut detta till en listbox får jag endast ut en rad, men om jag gör det i SQL management Studio får jag ut alla raderna.

http://imgur.com/UFjU7HK en exempel bild på en tabell i databasen (Jag får ut infon om Lördagen endast när jag väljer att printa ut information i mitt program

Tacksam för all hjälp!

Permalänk
Medlem

1. Använd inte å, ä och ö i tabellnamnen! Ge Tabellerna engelska namn!
2. Läs på ordentligt om listbox!
3. Mer kod tack!

Visa signatur

Fulburken:
| I9 9900K
| Gigabyte Aorus Z390 AORUS MASTER
| Asus RTX 3090 Strix OC

Permalänk
Medlem
Skrivet av Tickles:

1. Använd inte å, ä och ö i tabellnamnen! Ge Tabellerna engelska namn!
2. Läs på ordentligt om listbox!
3. Mer kod tack!

Tack för svar! Har ändrat alla tabellnamn till engelska nu, vet faktiskt inte varför jag gjorde de på svenska..

Lyckades lösa problemet nu, efter 2 dagars försök. Visade sig att det vart lstBox.Items.Add.Clear() som spökade, fattar dock inte varför..

SqlDataReader reader = null; SqlCommand command = new SqlCommand(sql, connection); reader = command.ExecuteReader(); while (reader.Read()) { lstbox.Items.Clear(); lstBox.Items.Add(reader["Day"].ToString()); lstBox.Items.Add(reader["Departure"].ToString()); lstBox.Items.Add(reader["Arrival"].ToString()); lstBox.Items.Add(reader["TravelFrom"].ToString()); lstBox.Items.Add(reader["TravelTo"].ToString()); lstBox.Items.Add(reader["Price"].ToString() + ":-"); } connection.Close();

Permalänk
Medlem
Skrivet av Shkipan:

Tack för svar! Har ändrat alla tabellnamn till engelska nu, vet faktiskt inte varför jag gjorde de på svenska..

Lyckades lösa problemet nu, efter 2 dagars försök. Visade sig att det vart lstBox.Items.Add.Clear() som spökade, fattar dock inte varför..

SqlDataReader reader = null; SqlCommand command = new SqlCommand(sql, connection); reader = command.ExecuteReader(); while (reader.Read()) { lstbox.Items.Clear(); lstBox.Items.Add(reader["Day"].ToString()); lstBox.Items.Add(reader["Departure"].ToString()); lstBox.Items.Add(reader["Arrival"].ToString()); lstBox.Items.Add(reader["TravelFrom"].ToString()); lstBox.Items.Add(reader["TravelTo"].ToString()); lstBox.Items.Add(reader["Price"].ToString() + ":-"); } connection.Close();

Varför kör du Clear()? Den tar bort alla objekt som ListBoxen innehåller vilket betyder att du för varje varv i while loopen tar bort alla objekt som lagts in tidigare.

http://msdn.microsoft.com/en-us/library/system.windows.forms....