Zmiana zawartości DataGridView używając "SELECT"

Odpowiedz Nowy wątek
2014-12-18 21:11
0

Witam wszystkich. Jestem nowy na forum.
Piszę ten wątek ponieważ nie znalazłem interesującej mnie odpowiedzi w innych wątkach.

Tworzę pewną aplikacje operującą na paru tablach w bazie MySQL nazwie "motel" i zawierającą m.in. tabele "rezerwacje"
Dodałem źródło danych korzystając kreatora środowiska Visual Studio. Mój projekt zawiera więc:
-motelDataSet
-rezerwacjeBindingSource
-rezerwacjeTableAdapter
W projekcie znajduje się również DataGridView oraz parę textBox-ów ,których źródłem danych jest rezerwacjeBindingSource.
Poszukuję sposobu aby pobierać z bazy danych jedynie wiersze spełniające pewne kryteria używając WHERE.
Znalazłem następujący sposób:

MySqlConnection myConn = new MySqlConnection(myConnection);
                myConn.Open();
                string query = "select * FROM `motel`.`rezerwacje`;";
                MySqlDataAdapter adapter = new MySqlDataAdapter(query, myConnection);
                MySqlCommandBuilder builder = new MySqlCommandBuilder(adapter);
                DataTable dt = new DataTable();
                adapter.Fill(dt);
 
                rezerwacjeBindingSource.DataSource = dt;
                rezerwacjeDataGridView.DataSource = dt;
                myConn.Close();
 

Sposób działa jednak przez to ,że działam na nowym innych "wtyczkach?" pozostałe element tj. textboxy nie wyswietlają już zawartości aktualnie wybranego wiersza DataGridView.
Czy ktoś potrafi mi doradzić jak zmodyfikować istniejące już motelDataSet, rezerwacjeBindingSource oraz rezerwacjeTableAdapter by w DataGridView wyświetlać jedynie wiersze zwracane przez mojego własnego selecta?

Pozostało 580 znaków

2014-12-19 19:20
0

Udało mi się częściowo rozwiązać problem. Skorzystałem z tego: http://msdn.microsoft.com/en-us/library/kda44dwy.aspx
Kiedy próbuje odświeżyć DataGridView

 this.rezerwacjeTableAdapter.Fill(this.motelDataSet.rezerwacje);

wywala mi 5 okienek z błędami. Załanczam screen-y.
Nie bardzo rozumiem w czym tkwi problem. Błąd nie wyskakuje jeżeli prze odświeżeniem zmienię zawartość tableli np. insertem.

Pozostało 580 znaków

Odpowiedz
Liczba odpowiedzi na stronę

1 użytkowników online, w tym zalogowanych: 0, gości: 1, botów: 0