Mysql
 sql >> база данни >  >> RDS >> Mysql

C# -- Извличане на данни от MySQL и подреждането им в страници без DataGridView

При щраквания върху бутоните вие ​​актуализирате стойностите на x и y, но никога не изпълнявате повторно заявката за база данни или актуализирате данните във формуляра. Трябва да извлечете следващата "страница" с данни, за да я покажете.

Първо, извлечете кода на вашата база данни в метод, а не в Load събитие:

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

След това в Load събитие задайте вашия начален x и y стойности и заредете данните:

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

Това трябва да зареди първоначалната "страница" с данни. Тогава вероятно имате бутон "следващ" и "предишен" за пейджинг? Всеки от тях ще увеличи/намали x и y стойности съответно. Нещо като това:

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

Продължавайки по-нататък, ще искате да добавите някои проверки на границите, така че хората да не могат да щракнат върху „следващ“ на последната страница или „предишен“ на първата страница. Вероятно някаква обработка на грешки би била добра идея. Има много начини да излъскате това. Но основната идея е, че трябва да направите заявка отново към базата данни и да свържете отново контролите на формуляра с всяка страница.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Възможно ли е да се извика MySQL съхранена процедура от Ruby?

  2. влизане като потребител или администратор от 2 различни таблици

  3. Как да изтрия mysql ред след изтичане на времето?

  4. SQL Server 2005 внедряване на MySQL ЗАМЕНИ В?

  5. Генериране на дърво на базата на дълбочина от йерархични данни в MySQL (без CTEs)