2009-06-16 33 views
17

Nếu tôi nhận dữ liệu từ cơ sở dữ liệu từ thời gian bắt đầu đến thời gian kết thúc, trong thời gian đó (xử lý/truy vấn), tôi muốn hiển thị thanh tiến trình (chẳng hạn như "Đang xử lý, vui lòng chờ ”). Tôi có thể làm cái này như thế nào?Thanh tiến trình hiển thị tại thời điểm xử lý

+1

Tôi không chắc tôi hiểu câu hỏi: đây có phải là kịch bản thời gian thực mà bạn đang chạy một loạt truy vấn đối với cơ sở dữ liệu sẽ dừng khi "kết thúc ngày "đạt được? Hay đó là một truy vấn đơn lẻ mất nhiều thời gian để chạy và bạn muốn cung cấp thanh tiến trình cho truy vấn? Có lẽ bạn cũng có thể bao gồm các câu lệnh truy cập dữ liệu và các định nghĩa bảng. – cheduardo

Trả lời

2

bước của geting dữ liệu từ db:

  1. ứng dụng gửi truy vấn để db
  2. db phân tích truy vấn và chuẩn bị cho kết quả
  3. db gửi kết quả trở lại ứng dụng

Trong hầu hết các trường hợp, bạn không thể nói mất bao nhiêu thời gian, vì vậy thay vì thanh tiến trình suy nghĩ về sự kết hợp của:

  • giờ con trỏ kính chuột
  • "please wait" trong thanh trạng thái
  • chút hình ảnh động (cối xay gió, xoay bánh răng vv)
+0

Tôi đến đây để đăng bài về cơ bản giống nhau. Nếu bạn đang chờ truy vấn, bạn không thể nói mất bao nhiêu thời gian. Tùy chọn tốt nhất là một thanh hoạt ảnh nhỏ trên biểu mẫu hiển thị trên màn hình hiện tại của bạn. – Daemonic

0

Trong khi thật sự của nó mà bạn không thể nói bao lâu truy vấn được sẽ mất , có thể cung cấp cho người dùng và ý tưởng của bạn về thời gian đã hết hạn/còn lại. Bạn sử dụng điều khiển thanh tiến trình từ IDE VB của bạn. Sau đó, bạn đặt thuộc tính 'max' của mình thành bản ghi truy vấn của bạn. Khi bạn lặp qua các bản ghi sẽ tăng thuộc tính của thanh tiến trình 'giá trị'. Đây là một ví dụ; ('Rs' là bản ghi ADODB)

 ProgressBar1.Max = Rs.RecordCount - 1 

     For P = 0 To .RecordCount - 1 
      ProgressBar1.Value = P 

      'some process here 
      Rs.MoveNext 

     Next P 
Các vấn đề liên quan