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

Vòng qua tập kết quả

Khi truy cập một RDBMS, Tập kết quả bạn nhận được thường hướng theo hàng. Có nghĩa là, bất cứ khi nào bạn gọi ResultSet ::next (), con trỏ sẽ chuyển sang hàng tiếp theo. Đó là lý do tại sao vòng lặp của bạn

for (int i = 0; i < columncount; i++)
{                 
    while (res->next())
    {
        ...
    }
}

chỉ hiển thị thuộc tính đầu tiên.

Thông thường, bạn chuyển đổi các vòng lặp bên trong và bên ngoài chẳng hạn như

while (res->next())
{
    for (int i = 0; i < columncount; i++)
    {
        ...
    }
}

Nhưng nếu bạn thực sự cần truy cập từng cột một, bạn sẽ phải kiểm tra xem ResultSet có cho phép bạn đặt lại con trỏ về hàng đầu tiên hay không. Nếu không, bạn phải lưu dữ liệu vào bộ nhớ cache hoặc đưa ra cùng một truy vấn SQL lặp đi lặp lại.




  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Batch-file cho mysqldump để sao lưu từng cơ sở dữ liệu thành một tệp riêng biệt

  2. Khóa chính lớn:hơn 1 tỷ hàng MySQL + InnoDB?

  3. Làm cách nào để thêm khóa ngoại khi tạo bảng mới?

  4. Ví dụ EXTRACT () - MySQL

  5. SQL:Tìm hàng tiếp theo trong mệnh đề where được cung cấp một ID