Cấu hình Oracle APEX 5.0

Tác giả CCNACCNP, T.Tư 19, 2019, 02:30:52 CHIỀU

« 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.

https://localhost:8080/apex/apex_admin




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.

https://localhost:8080/apex

Nhập 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.

https://localhost:8080/apex




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
  • à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