Cấu hình Oracle APEX 5.0

Tác giả CCNACCNP, Tháng tư 19, 2019, 02:30:52 PM

« Chủ đề trước - Chủ đề tiếp »

0 Thành viên và 1 Khách đang xem chủ đề.

Cấu hình Oracle APEX 5.0


1. Giới thiệu
     Trong tài liệu này, tôi sẽ hướng dẫn bạn làm việc với Oracle Application Express (Oracle APEX) 5.x:
     Bạn có thể xem tài liệu hướng dẫn cài đặt và định cấu hình Oracle APEX trên:

         Cài đặt và cấu hình Oracle Apex 5.0

2. Tạo không gian làm việc
     Trước tiên, bạn cần đăng nhập vào hệ thống quản trị của Oracle APEX để khai báo Vùng làm việc. Không gian làm việc sẽ hoạt động với SCHEME trong cơ sở dữ liệu. Không gian làm việc chứa Ứng dụng (bao gồm hệ thống biểu mẫu, báo cáo, v.v.), quản lý người dùng tham gia lập trình hoặc người dùng sử dụng ứng dụng.

To view link, please Register or Login




Bạn cần tạo Workspace mới:


Nhập vào:

         Tên không gian làm việc: DEV_WORKSPACE
         ID không gian làm việc: 1234567


Bạn có thể chọn một SCHema có sẵn trong Cơ sở dữ liệu. Ở đây tôi tạo một SCHema mới có tên DEV với mật khẩu dev123.

         Nếu bạn sử dụng Oracle 12c, tên lược đồ có thể phải bắt đầu bằng ##. Ví dụ: ## DEV.



Ở bước trước, bạn đã tạo một SCHema có tên DEV. Nó có nghĩa là 1 cơ sở dữ liệu người dùng được tạo và đặt tên DEV.

Trong bước này, bạn cần khai báo Người dùng quản trị Không gian làm việc. Nó không phải là cơ sở dữ liệu người dùng, nhưng nó là người dùng quản trị của Không gian làm việc APEX này. Nó có khả năng tạo ứng dụng, những người dùng khác là lập trình viên hoặc người dùng sử dụng ứng dụng ...






Không gian làm việc của bạn đã được tạo. Bạn có thể xem danh sách Không gian làm việc hiện tại và chỉnh sửa nếu bạn muốn.



3. Làm việc với không gian làm việc
     Trong bước trên, bạn đã tạo một Vùng làm việc có tên DEV_WORKSPACE. Bây giờ chúng tôi sẽ đăng nhập và làm việc với Workspace này.

To view link, please Register or Login

Nhập vào:

Đi vào:

         Không gian làm việc: DEV_WORKSPACE
         Tên người dùng: devadmin
         Mật khẩu: devadmin123



Trong lần đầu tiên đăng nhập Workspace, hệ thống yêu cầu bạn thay đổi mật khẩu, nhưng bạn có thể giữ nguyên mật khẩu của mình.


Bạn đã đăng nhập vào DEV_WORKSPACE Workspace.


4. Quản lý nhóm và người dùng trong không gian làm việc
     Sau khi đăng nhập Workspace với tư cách quản trị viên hành động, bạn có thể tạo người dùng và nhóm cho Workspace.




Nhập vào:





Người dùng dev01 đã được tạo.


Bây giờ bạn có thể đăng xuất hệ thống để đăng nhập với người dùng dev01. Bây giờ bạn đã sẵn sàng để lập trình Oracle APEX.


5. Xem bảng và dữ liệu
     Bạn cần đăng nhập với người dùng với vai trò là người lập trình.

To view link, please Register or Login




Nhìn vào các đối tượng trong Schema thông qua Object Browser.


Ở bước trước, bạn đã tạo Schema DEV thông qua Oracle APEX. Lược đồ này hiện có các bảng hệ thống và một số bảng DEMO có sẵn trong Oracle APEX và một số Chuỗi liên quan.




6. Tạo ứng dụng
     Trong Oracle APEX, bạn có thể tạo một ứng dụng theo một trong ba loại:

         Ứng dụng máy tính để bàn
         Ứng dụng trang web
         Ứng dụng di động


     Đối với người mới bắt đầu sử dụng Oracle APEX, tốt nhất nên có một ví dụ với Ứng dụng cơ sở dữ liệu. Trên thực tế, ứng dụng này vẫn chạy trên web nhưng giao diện của nó khá giống với một ứng dụng Desktop thông thường.
     Trong tài liệu này, tôi hướng dẫn bạn tạo một ứng dụng Hello World Oracle Apex dưới dạng Ứng dụng cơ sở dữ liệu.

     6.1. Tạo ứng dụng cơ sở dữ liệu
         Tạo ứng dụng cơ sở dữ liệu mới Database Desktop:


Nhấn vào nút để tạo một ứng dụng mới:


Nhập tên của ứng dụng:

         Xin chào ứng dụng cơ sở dữ liệu


Theo mặc định, Trang chủ được tạo đồng thời với ứng dụng. Bạn có thể thêm các trang khác vào ứng dụng bằng cách nhấp vào "Thêm trang". Tốt nhất là thêm chúng sau.








Ứng dụng của bạn đã được tạo. ID của nó là 115 và nó có hai trang Đăng nhập & Trang chủ.


Hiện tại, Trang chủ chưa được thiết kế. Tuy nhiên, bạn có thể nhấp vào biểu tượng Play để kiểm tra web.




6.2. Tạo trang đầu tiên của bạn
     Tiếp theo, chúng tôi thêm một trang hiển thị danh sách các phòng ban (Bảng DEPT) và một trang được sử dụng để tạo và chỉnh sửa thông tin của các phòng ban. Để đơn giản, chúng tôi tạo trang này dưới dạng Mẫu có sẵn của Oracle APEX. Trong phần tiếp theo, tôi sẽ hướng dẫn bạn tạo một trang mới từ một trang trống để bạn có thể hiểu thấu đáo vấn đề.




Chọn "Biểu mẫu trên bảng có báo cáo". Với mẫu này, Oracle APEX sẽ cung cấp cho bạn hai trang bao gồm một trang danh sách các phòng ban (DEPT) và một hình thức tạo (và chỉnh sửa) thông tin của các phòng ban.


Đầu tiên, Oracle APEX yêu cầu bạn nhập thông tin cho trang chứa danh sách các phòng ban (DEPT). Số trang là một thuộc tính quan trọng bạn phải nhớ. Tôi cấp 2 cho Số trang của trang này. (Lưu ý: Trang chủ có Số trang = 1).


Chọn bảng DEPT:


Vào Menu:

         Mục menu điều hướng mới: Dept List (2)


Chọn các cột để hiển thị:




Tiếp theo là trang để nhập thông tin bộ phận. Ở đây tôi gán 3 cho Số trang.
     Chế độ trang:

         Bình thường: Có nghĩa là khi bạn nhấp vào tạo một bộ phận mới, web sẽ chuyển sang một trang mới để bạn có thể nhập thông tin của bộ phận đó.
         Hộp thoại mẫu: Có nghĩa là khi bạn nhấp vào tạo bộ phận mới, Hộp thoại sẽ hiển thị để bạn có thể nhập thông tin.


Chọn Cột khóa chính:


Khi bạn tạo bản ghi DEPT mới, cột DEPTNO sẽ tự động được cấp cho một giá trị theo trình tự DEPT_SEQ.








Hai trang đã được tạo. Đầu tiên, hãy chạy thử.










OK, mọi thứ đều hoàn hảo. Quay trở lại màn hình thiết kế để khám phá những gì Oracle APEX đã tạo ra.


Oracle APEX tạo hai trang dưới dạng "Báo cáo tương tác" và "Biểu mẫu DML".


Nhấp vào "Biểu mẫu trên DEPT (3)" để chỉnh sửa.




Trong hình ảnh minh họa ở trên, bạn sẽ thấy màn hình thiết kế được chia thành ba phần:

         Các mục của trang, bao gồm Vùng, Nút và Xử lý.
         Giao diện của trang. Một trang thường có sáu vùng:
            TRANG CHỦ
             TRANG WEB TRANG WEB
             BÁNH MÌ
             NỘI DUNG BODY
             BÓNG ĐÁ
             DIALOGS TRỰC TUYẾN

         Khi bạn chọn một mục của trang như được đề cập trong phần 1, các thuộc tính của nó sẽ hiển thị trong phần 3.

     Ví dụ: Bạn nhấp vào mục TRANG, thay đổi thuộc tính của Chế độ trang thành "Hộp thoại mẫu" và nhấp vào lưu dưới dạng hình ảnh minh họa sau:


Và trở lại trang này.


Một hộp thoại sẽ được mở và nó cho phép bạn nhập thông tin của một bộ phận mới.


6.3. Tạo một trang từ đầu
     Trong các phần trên, tôi đã giới thiệu cho bạn cách tạo nhanh một trang web với các mã xử lý được tạo tự động bởi Oracle APEX. Để hiểu thêm về Oracle APEX, trong phần này, tôi sẽ tạo lại ví dụ trên từ đầu mà không cần sử dụng các mẫu có sẵn của Oracle APEX.
     Đây là mô hình gồm 2 trang tôi sẽ tạo:


Tạo trang:


Chọn trang trống:




Danh sách trang của các phòng ban (DEPT) sẽ được đưa vào menu.




Một trang trống đã được tạo. Chúng tôi tạo danh sách các phòng ban được hiển thị, khu vực này sẽ được bao gồm trong phần "Nội dung Body".


Một khu vực mới đã được tạo ra:


Nhập thông tin vào khu vực bạn tạo:       

        Title: Dept List
        Type: Interactive Report
        Source SQL Query: Select DEPTNO, DNAME, LOC from DEPT
        SAVE



Bây giờ bạn có thể nhấn RUN (Play), để thử nghiệm


Bạn cần thêm một cột chứa các biểu tượng chỉnh sửa, như hiển thị bên dưới:


Chọn các thuộc tính trong phần "Danh sách phòng". Và thiết lập các thuộc tính như hình dưới đây:


Cột liên kết = Liên kết đến Chế độ xem hàng đơn
     Điều đó có nghĩa là khi bạn nhấp vào biểu tượng (sửa đổi) bản ghi biểu tượng, ứng dụng sẽ chuyển đến một trang mặc định (hiển thị thông tin bản ghi)
   
  Cột liên kết = Liên kết đến mục tiêu tùy chỉnh
     Sử dụng để chuyển đến trang tùy chỉnh của bạn, để hiển thị thông tin hồ sơ. (Sẽ được đề cập sau).
     Trở lại trang này:


Trang web sẽ chuyển sang một trang mặc định và hiển thị thông tin mà bạn đã chọn.


Form
     Tiếp theo, chúng tôi tạo một trang Biểu mẫu, khi bạn nhấp để sửa đổi hoặc tạo một bộ phận, nó sẽ chuyển sang trang này.












Một trang trống được tạo, chúng tôi sẽ tạo một vùng chứa biểu mẫu.


Nhập thông tin cho khu vực tạo mới:

         Tiêu đề: Mẫu trên Dept
         Loại: Nội dung tĩnh



Lưu ý: Với loại "Loại vùng = Nội dung tĩnh". Bạn cần tạo các mục trong vùng này và viết các trình xử lý để hiển thị và ghi dữ liệu vào DB.
     Chúng tôi sẽ tạo ba trường:

        Ẩn: DEPTNO
         Trường văn bản: DNAME
         Trường văn bản: LỘC


     Kéo và thả một mục Ẩn vào khu vực ITEMS như bên dưới:


Cài đặt thuộc tính cho Mục:


Tương tự tạo 2 TEXT-FIELD:






Kiểm tra:


Người dùng chọn một bản ghi trong danh sách (trang 4) để sửa đổi, nó sẽ được chuyển sang trang Mẫu (trang 5) và chuyển ID bản ghi. Bạn cần thực hiện một Quá trình (Đang kết xuất trước) trên trang 5 để tải dữ liệu và hiển thị trên Biểu mẫu:


Thực hiện một quy trình trong:

     Kết xuất trước / Sau tiêu đề

Quá trình này sẽ được gọi trước khi trang được hiển thị.


Nhập vào:

         Tên: Tìm nạp / tải hàng từ DEPT
         Loại: Tự động tìm nạp hàng
         Tên bảng: DEPT
         Cột khóa chính: DEPTNO
         Mục chính: P5_DEPTNO



Quay lại trang 4 (Danh sách phòng (4)) để đặt các tham số được truyền từ trang 4 đến trang 5.








Lưu và kiểm tra trang:




Tiếp theo, chúng tôi thêm các chức năng tạo mới và Lưu bản ghi như dưới đây:


Trên trang 4:








Bước tiếp theo đến trang 5.
     Kéo và thả các nút vào các vị trí trên màn hình thiết kế như hình dưới đây:




Khi bạn nhấp vào CANCEL trên trang 5, trang web sẽ chuyển đến trang 4.
     Cài đặt thuộc tính cho nút CANCEL:

        Tên nút: CANCEL
         Nhãn: Hủy
         Hành động: Chuyển hướng đến Trang trong Ứng dụng này







DELETE_IMMEDIATELY

     Khi nhấp vào nút DELETE_IMMEDIATELY, bản ghi sẽ bị xóa mà không cần nhắc. Chúng tôi sẽ đặt thuộc tính cho nút này:

         Tên nút: DELETE_IMMEDIATELY
         Nhãn: Xóa (Ngay lập tức)
         Hành động: Gửi trang
         Hành động cơ sở dữ liệu: Hành động XÓA SQL

     Nút này sẽ hiển thị nếu P5_DEPTNO không null:

         Loại điều kiện: Mục không null
         Mục điều kiện: P5_DEPTNO



DELETE_CONFIRM

     Khi nhấp vào nút này, ứng dụng sẽ hỏi người dùng có muốn xóa bản ghi này hay không.
     Thiết lập các thuộc tính cho nút DELETE_CONFIRM:

         Tên nút: DELETE_CONFIRM
         Nhãn: Xóa (xác nhận)
         Hành động: Chuyển hướng đến URL
         Mục tiêu: javascript: apex.conf Confirm ('Bạn có chắc không?', 'DELETE_CONFIRM');
         Hành động cơ sở dữ liệu: Hành động XÓA SQL


     Điều kiện cho nút này hiển thị trên trang.

         Loại điều kiện: Mục KHÔNG phải là NULL
         Mục điều kiện: P5_DEPTNO



Chú thích:
    apex.conf Confirm (text, BUTTON_NAME) là một chức năng javascript có sẵn trên APEX, nó sẽ hiển thị Hộp thoại yêu cầu người dùng xác nhận hành động trước khi thực hiện hành động định nghĩa trên BUTTON_NAME.
     Nút này sẽ hiển thị trên trang web nếu P5_DEPTNO không null.
     Bạn cũng có thể định nghĩa một biến javacript và sử dụng nó trên toàn bộ trang web.


Mã nguồn [Chọn]
// Declare a variable named htmldb_delete_message
var htmldb_delete_message='Would you like to perform this delete action?';

// Or:
// "DELETE_CONFIRM_MSG" is a constant available in APEX.
// It has value: Would you like to delete this thực action?


var htmldb_delete_message='"DELETE_CONFIRM_MSG"';


// Then can use this variable in the whole page.

apex.confirm(htmldb_delete_message,'DELETE_CONFIRM');



Save_Edit

     Nút này sẽ hiển thị cho người dùng sửa đổi bản ghi có sẵn trên DB (tạo câu lệnh Cập nhật trên DB).

        Tên nút: SAVE_EDIT
         Nhãn: Lưu (chỉnh sửa)
         Hành động: Gửi trang
         Hành động cơ sở dữ liệu: Hành động CẬP NHẬT SQL


     Điều kiện cho nút này hiển thị trên trang.

         Loại điều kiện: Mục KHÔNG phải là NULL
         Mục điều kiện: P5_DEPTNO



Save_Create

         Tên nút: SAVE_CREATE
         Nhãn: Lưu (tạo)
         Hành động: Gửi trang
         Hành động cơ sở dữ liệu: Hành động SQL INSERT


         Điều kiện
             Loại: Mục là NULL
             Mục: P5_DEPTNO



Quá trình

     Tiếp theo, chúng tôi thêm 3 Quá trình:

         Nhận PK: Kiểm tra P5_DEPTNO có được gán giá trị hay không, nếu không, chúng tôi sẽ gán giá trị cho nó từ DEPT_SEQ (Sử dụng trong trường hợp Chèn).
         Process Row of Dept: Thực thi các hành động (Chèn, Cập nhật hoặc Xóa).
         Đặt lại trang: Xóa trạng thái.



Tạo một quy trình mới có tên "Nhận PK" và nhập các giá trị thuộc tính:

        Tên: Nhận PK
         Loại: Mã PL / SQL
         Mã PL / SQL:


Mã nguồn [Chọn]
begin
    if :P5_DEPTNO is null then
        select DEPT_SEQ.nextval
          into :P5_DEPTNO
          from dual;
    end if;
end;



Tiếp theo, bạn tạo Quy trình "Quy trình hàng của DEPT" với các thuộc tính:

         Tên: Hàng quy trình của DEPT
         Loại: Xử lý hàng tự động (DML)
         Tên bảng: DEPT
         Cột khóa chính: DEPTNO
         Mục chính: P5_DEPTNO
         Hỗ trợ hoạt động:
             Chèn
             Cập nhật
             Xóa bỏ



Tiếp theo, bạn tạo quy trình "Đặt lại trang" và cấu hình thuộc tính "Chỉ được sử dụng để xóa bản ghi" cho nó.

Điều kiện để Quá trình này được thực thi là yêu cầu có chứa từ "XÓA", điều đó có nghĩa là nó sẽ được thực thi khi bạn nhấp vào nút DELETE_IMMIDIATELY hoặc DELETE_CONFIRM.


Sau khi Quá trình hoàn tất (Chèn, cập nhật, xóa) trên trang 5, để quay lại trang 4, bạn cần xử lý trong "Sau khi xử lý"








Bây giờ, Bạn có thể Lưu các thay đổi trong màn hình thiết kế và thử ứng dụng:


7. Hướng dẫn lập trình Oracle APEX (tiếp theo)
     Bạn có thể đọc thêm tài liệu:
     Xem phần tiếp theo Hướng dẫn biểu mẫu dạng bảng APEX của Oracle