Quantcast
Viewing all articles
Browse latest Browse all 21942

Usuwanie wierszy z dataGridView przed wczytaniem danych z innej tabeli bazy SQL

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();
        }

 


Viewing all articles
Browse latest Browse all 21942