Mysql
 sql >> Cơ Sở Dữ Liệu >  >> RDS >> Mysql

C # - Lấy dữ liệu từ MySQL và sắp xếp chúng trong các trang không có DataGridView

Trong các lần nhấp vào nút, bạn cập nhật các giá trị x và y, nhưng bạn không bao giờ thực hiện lại truy vấn cơ sở dữ liệu hoặc cập nhật dữ liệu trên biểu mẫu. Bạn cần tìm nạp "trang" dữ liệu tiếp theo để hiển thị nó.

Đầu tiên, trích xuất mã cơ sở dữ liệu của bạn thành một phương thức thay vì trong Load sự kiện:

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

Sau đó, trong Load sự kiện đặt x ban đầu của bạn và y giá trị và tải dữ liệu:

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

Điều này sẽ tải "trang" dữ liệu ban đầu. Sau đó, có lẽ bạn có một nút "tiếp theo" và "trước đó" để phân trang? Mỗi cái sẽ tăng / giảm xy các giá trị tương ứng. Một cái gì đó như thế nà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();
}

Đi xa hơn, bạn sẽ muốn thêm một số kiểm tra giới hạn để mọi người không thể nhấp vào "tiếp theo" trên trang cuối cùng hoặc "trước đó" trên trang đầu tiên. Có lẽ một số xử lý lỗi sẽ là một ý tưởng hay. Có rất nhiều cách để đánh bóng điều này. Nhưng ý tưởng cơ bản là bạn cần truy vấn lại cơ sở dữ liệu và liên kết lại các điều khiển biểu mẫu với mỗi trang.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. chuyển LIMIT dưới dạng tham số cho MySQL opensc

  2. làm cách nào để xuất cơ sở dữ liệu mysql bằng ssh?

  3. Không tìm thấy trình điều khiển Jdbc

  4. Tìm kiếm FULLTEXT trong MySQL không trả về bất kỳ hàng nào

  5. Làm cách nào để tích hợp Apache Spark với MySQL để đọc các bảng cơ sở dữ liệu dưới dạng khung dữ liệu tia lửa?