sql >> Databasteknik >  >> RDS >> Mysql

C# -- Hämta data från MySQL och beställa dem på sidor utan DataGridView

I dina knappklick uppdaterar du x- och y-värdena, men du kör aldrig om databasfrågan eller uppdaterar data i formuläret. Du måste hämta nästa "sida" med data för att kunna visa den.

Extrahera först din databaskod till en metod snarare än i Load händelse:

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

Sedan i Load händelse ställ in ditt initiala x och y värden och ladda data:

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

Detta bör ladda den första "sidan" med data. Då har du förmodligen en "nästa" och "föregående" knapp för personsökning? Var och en skulle öka/minska x och y värden därefter. Något så här:

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

Om du går längre vill du lägga till några gränskontroller så att folk inte kan klicka på "nästa" på sista sidan eller "föregående" på första sidan. Förmodligen skulle någon felhantering vara en bra idé. Det finns många sätt att polera detta. Men den grundläggande idén är att du måste fråga om databasen och binda om formulärkontrollerna med varje sida.



  1. Hur man väljer distinkta rader utan att använda grupp för uttalande

  2. Minus vs utom skillnad i ORACLE/SQL-server

  3. Dynamisk SQL-resultat till temporär tabell i SQL Stored-procedur

  4. Inloggningsutlösare i SQL Server