Witam. Tworzę sobie mały programik którzy korzysta z bazy danych. Jednym z jego funkcji będzie pobieranie danych z poszczególnych tabel i wyświetlanie ich w dataGridView.
Oto przykładowy kod który wczytuje dane z jednej tabeli do dataGridView:
private void readGamesToolStripMenuItem_Click(object sender, EventArgs e) { ShopServer.OpenConnection(); ShopServer.dataTable.Clear(); ShopServer.ReadData(Table.Games, "*"); ShopServer.dataTable.Load(ShopServer._reader); dgv_DataReaderTable.Refresh(); rtb_Logs.AppendText(ShopServer.LogManager.AddLog(LogText.readGamesData + "\n")); ShopServer.CloseConnection(); }
Problem pojawia się kiedy chcę wczytać dane raz z jednej tabeli raz z drugiej. W tym celu chciałem wyczyścić zawartość dataGridView przed pobraniem kolejnego zestawu danych. Próbowałem dgv.Rows.Clear(), dgv.Columns.Clear(), próbowłem ustawiać dgv.DataSource = null. To są rozwiązania które już szukałem w internecie jednak nie przynosiły oczekiwanego rezultatu.
Byłbym wdzięczny za pomoc w rozwiązaniu tego problemu.Poniżej rzucę jeszcze moją metodę która wczytuje dane do SqlReadera
public void ReadData(string table, string columns) { _selectCommand.CommandText = string.Format("SELECT {0} FROM {1}", columns, table); _selectCommand.CommandType = CommandType.Text; _selectCommand.Connection = _connection; _reader = _selectCommand.ExecuteReader(); }