Mysql
 sql >> Baza danych >  >> RDS >> Mysql

C# — Pobieranie danych z MySQL i porządkowanie ich na stronach bez DataGridView

W kliknięciach przycisków aktualizujesz wartości x i y, ale nigdy nie wykonujesz ponownie zapytania do bazy danych ani nie aktualizujesz danych w formularzu. Aby je wyświetlić, musisz pobrać następną „stronę” danych.

Najpierw wyodrębnij kod bazy danych do metody, a nie do Load wydarzenie:

private void LoadData()
{
    server = "localhost";
    database = "app";
    uid = "root";
    password = "root";
    string connectionString;
    connectionString = "SERVER=" + server + ";" + "DATABASE=" + database + ";" + "UID=" + uid + ";" + "PASSWORD=" + password + ";";
    connection = new MySqlConnection(connectionString);
    if (this.OpenConnection() == true)
    {
        string query = "SELECT * from EVENTS LIMIT"+ x +","+ y +";";
        mySqlDataAdapter = new MySqlDataAdapter(query , connection);
        ...
        ...
    }
}

Następnie w Load zdarzenie ustaw swój początkowy x i y wartości i załaduj dane:

private void Form1_Load(object sender, EventArgs e)
{
    x = 0;
    y = 20;
    LoadData();
}

Powinno to załadować początkową „stronę” danych. Więc prawdopodobnie masz przycisk „następny” i „poprzedni” do stronicowania? Każdy z nich zwiększy/zmniejszy x i y odpowiednie wartości. Coś takiego:

private void nextButton_Click(object sender, EventArgs e)
{
    x += 20;
    y += 20;
    LoadData();
}

private void previousButton_Click(object sender, EventArgs e)
{
    x -= 20;
    y -= 20;
    LoadData();
}

Idąc dalej, będziesz chciał dodać sprawdzanie granic, aby ludzie nie mogli kliknąć „następna” na ostatniej stronie lub „poprzednia” na pierwszej stronie. Prawdopodobnie dobrym pomysłem byłaby obsługa błędów. Jest wiele sposobów na polerowanie tego. Ale podstawowa idea polega na tym, że musisz ponownie przeszukać bazę danych i ponownie powiązać kontrolki formularza z każdą stroną.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Jak wyłączyć indeks w innodb

  2. Czy ktoś może polecić dobry samouczek dotyczący indeksów MySQL, w szczególności gdy jest używany w klauzuli order by podczas łączenia?

  3. Błąd składni procedury składowanej MySQL po BEGIN

  4. Przykłady UTC_TIME – MySQL

  5. Uzyskiwanie dostępu do bazy danych MySQL za pomocą c# na unity?