Chương 5. Sửa đổi dữ liệu

1. Các tuỳ chọn trên một câu lệnh thao tác dữ liệu của Foxpro 2. Các lệnh cập nhật dữ liệu 3. Các lệnh bổ sung dữ liệu 4. Các lệnh loại bỏ dữ liệu

pdf20 trang | Chia sẻ: lylyngoc | Lượt xem: 1614 | Lượt tải: 1download
Bạn đang xem nội dung tài liệu Chương 5. Sửa đổi dữ liệu, để tải tài liệu về máy bạn click vào nút DOWNLOAD ở trên
TRƯỜNG CAO ĐẲNG SƯ PHẠM QUẢNG TRỊ KHOA CÔNG NGHỆ THÔNG TIN 1. Các tuỳ chọn trên một câu lệnh thao tác dữ liệu của Foxpro 2. Các lệnh cập nhật dữ liệu 3. Các lệnh bổ sung dữ liệu 4. Các lệnh loại bỏ dữ liệu Chương 5. Sửa đổi dữ liệu 1. Các tuỳ chọn trên một câu lệnh thao tác dữ liệu của Foxpro Câu lệnh tổng quát: [] [FIELDS ] [FOR ] [WHILE ] 1.1. Tuỳ chọn phạm vi 1.2. Tùy chọn FIELDS 1.3. Tùy chọn FOR và WHILE Chương 5. Sửa đổi dữ liệu 1. Các tuỳ chọn trên một câu lệnh thao tác dữ liệu của Foxpro 1.1. Tuỳ chọn phạm vi Trong các lệnh của Foxpro tùy chọn phạm vi có nghĩa là vùng các bản ghi liên tiếp nhau mà lệnh sẽ tác động lên đó, nó sẽ mang một trong bốn giá trị và có ý nghĩa sau đây: ALL - Tất cả các bản ghi Record - Bản ghi có số hiệu n NEXT - n bản ghi tính từ bản ghi hiện thời REST - Từ bản ghi hiện thời đến cuối tệp. Chú ý: Với mỗi lệnh của Foxpro sẽ có một phạm vi ngầm định. Phạm vi này có thể là ALL hoặc bản ghi hiện thời. Ví dụ: Lệnh LIST có phạm vi ngầm định là ALL còn DISPLAY có phạm vi ngầm định là bản ghi hiện thời. Chương 5. Sửa đổi dữ liệu 1. Các tuỳ chọn trên một câu lệnh thao tác dữ liệu của Foxpro 1.1. Tuỳ chọn phạm vi Ví dụ: Tệp HSCB.DBF có 20 bản ghi USE HSCB DISP ALL DISP Record 5 GO 10 DISP Next 5 GO 18 DISP Rest Fox Chương 5. Sửa đổi dữ liệu 1. Các tuỳ chọn trên một câu lệnh thao tác dữ liệu của Foxpro 1.2. Tùy chọn FIELDS Không có tùy chọn này thì lệnh sẽ tác động lên tất cả các trường của tệp CSDL đang mở còn nếu có tùy chọn này thì lệnh chỉ tác động lên những trường của tệp đó có mặt trong danh sách. Tất nhiên tất cả những trường được liệt kê này phải tồn tại trong tệp đang mở. Ví dụ: USE HSCB LIST FIELDS MSCB,HD,TEN Fox Chương 5. Sửa đổi dữ liệu 1. Các tuỳ chọn trên một câu lệnh thao tác dữ liệu của Foxpro 1.3. Tùy chọn FOR và WHILE a. FOR Lệnh chỉ tác động lên các bản ghi thỏa mãn b. WHILE Khi gặp bản ghi đầu tiên không thỏa mãn thì lệnh kết thúc. c. Sự khác nhau của hai tùy chọn FOR và WHILE Hai tùy chọn này đều chỉ cho phép lệnh tác động lên các bản ghi thỏa mãn nhưng chúng khác nhau ở chỗ khi dùng tùy chọn FOR thì Foxpro sẽ tuyển chọn tất cả các bản ghi của tệp CSDL để tác động lên những bản ghi thỏa mãn còn tùy chọn WHILE thì cho phép lệnh bắt đầu từ đầu tệp để tác động lên các bản ghi thỏa mãn nhưng ngay lần đầu tiên gặp bản ghi không thỏa mãn thì lệnh sẽ kết thúc ngay. Ví dụ: USE HSCB LIST FOR HSL>3 LIST WHILE HSL>3 Fox Chương 5. Sửa đổi dữ liệu 2. Các lệnh cập nhật dữ liệu 2.1. Lệnh EDIT 2.2. Lệnh BROWSE 2.3. Lệnh REPLACE Chương 5. Sửa đổi dữ liệu 2. Các lệnh cập nhật dữ liệu 2.1. Lệnh EDIT Cú pháp: EDIT [] [FIELDS ] [FOR ] [WHILE ] Giải thích: Phạm vi ngầm định là ALL. Lệnh cho phép sửa đổi dữ liệu của từng bản ghi với khuôn dạng giống như khi ta làm việc với lệnh APPEND. Ví dụ: USE HSCB EDIT Fox Chương 5. Sửa đổi dữ liệu 2. Các lệnh cập nhật dữ liệu 2.2. Lệnh BROWSE Cú pháp: BROWSE [] [FIELDS ] [FOR ] [LOCK] [FREEZE ] [NOAPPEND] [NOEDIT] [NOMODIFY] [FONT , , ] Giải thích: Phạm vi ngầm định là ALL. Lệnh cho phép sửa đổi dữ liệu của từng bản ghi với khuôn dạng là một bảng hai chiều mà mỗi cột là một trường và mỗi dòng là một bản ghi. Continue Chương 5. Sửa đổi dữ liệu 2. Các lệnh cập nhật dữ liệu 2.2. Lệnh BROWSE LOCK : Chia màn hình thành hai cửa sổ, cố định n trường bên trái tệp ở cửa sổ trái và các trường còn lại ở cửa sổ phải. Ta có thể di chuyển ngang các trường trên cửa sổ phải mà không là di chuyển ngang các trường trên cửa sổ trái. Tùy chọn này được dùng khi bề ngang của tệp CSDL đã vượt quá bề ngang màn hình. FREEZE : Chỉ cho phép con trỏ di chuyển trên trường . Tùy chọn này đươc dùng trong trường hợp ta chỉ tiến hành sửa đổi trên một trường. NOAPPEND: Không cho phép thêm bản ghi trống bằng cách ấn tổ hợp phím Ctrl-Y. NOEDIT, NOMODIFY: Không cho phép sửa đổi nội dung của các bản ghi đã tồn tại trước. Chương 5. Sửa đổi dữ liệu 2. Các lệnh cập nhật dữ liệu 2.2. Lệnh BROWSE Ví dụ: USE HSCB BROW LOCK 3 BROW FREE HSL BROW NOAP NOMO Fox Chương 5. Sửa đổi dữ liệu 2. Các lệnh cập nhật dữ liệu 2.3. Lệnh REPLACE Cú pháp: REPLACE [] WITH [, WITH ...] [FOR ] Giải thích: Phạm vi ngầm định là bản ghi hiện thời. Trên mỗi bản ghi mà lệnh có hiệu lực, Lệnh thay thế giá trị bằng , bằng ... Ví dụ: Tính lương USE BLUONG REPL ALL LCB WITH HSL*290000, LPC WITH HSPC*290000 REPL ALL TONG WITH LCB+LPC Fox Chương 5. Sửa đổi dữ liệu 3. Các lệnh bổ sung dữ liệu 3.1 Lệnh APPEND 3.2 Lệnh BROWSE 3.3 Lệnh INSERT Cú pháp: INSERT [BLANK] [BEFORE] Giải thích: Lệnh chèn một bản ghi mới. Nếu có tùy chọn BLANK bản ghi mới là rỗng, nếu không thì phải điền dữ liệu cho bản ghi đó. Nếu có tùy chọn BEFORE thì bản ghi được chèn ở trên bản ghi hiện thời, nếu không thì ở dưới bản ghi hiện thời. Ví dụ: USE HSCB GO 5 INSERT BLANK BEFORE Chương 5. Sửa đổi dữ liệu 4. Các lệnh loại bỏ dữ liệu Việc xóa trong FoxPro có hai loại xóa logic và xóa vật lý. 4.1. Xóa logic (Đánh dấu xóa) 4.2. Phục hồi các bản ghi bị xóa logic. 4.3. Hàm DELETED() 4.4. Lệnh SET DELETED ON/OFF 4.5. Xóa vật lý Chương 5. Sửa đổi dữ liệu 4. Các lệnh loại bỏ dữ liệu 4.1. Xóa logic (Đánh dấu xóa) a. Khái niệm: Xóa logic hay đánh dấu xóa là chỉ đánh dấu một hoặc nhiều bản ghi để sau đó tuỳ trường hợp ta có thể xác lập môi trường để cho chúng có hiệu lực tác động lên hay không. b. Lệnh đánh dấu xóa DELETE [][FOR ][WHILE ] Phạm vi ngầm định là bản ghi hiện thời. Lệnh sẽ xóa các bản ghi trong phạm vi thỏa mãn hoặc kết thúc ngay khi gặp bản ghi không thỏa mãn Ví dụ: USE HSCB GO 6 DELE DELE FOR RECN()=2 OR RECN()=8 Chương 5. Sửa đổi dữ liệu 4. Các lệnh loại bỏ dữ liệu 4.2. Phục hồi các bản ghi bị xóa logic. Các bản ghi bị đánh dấu xóa sẽ được phục hồi bởi lệnh: RECALL [][FOR ][WHILE ] Phạm vi ngầm định là bản ghi hiện thời. Lệnh sẽ phục hồi các bản ghi trong phạm vi thỏa mãn hoặc kết thúc ngay khi gặp bản ghi không thỏa mãn . Ví dụ: USE HSCB GO 8 RECALL RECALL ALL Chương 5. Sửa đổi dữ liệu 4. Các lệnh loại bỏ dữ liệu 4.3. Hàm DELETED() Cho kết quả là .T. nếu bản ghi hiện thời bị đánh dấu xóa, ngược lại cho giá trị .F. Ví dụ: USE HSCB ? DELETED() Chương 5. Sửa đổi dữ liệu 4. Các lệnh loại bỏ dữ liệu 4.4. Lệnh SET DELETED ON/OFF Xác lập môi trường đối với các bản ghi bị đánh dấu xóa. Nếu thiết lập bằng lệnh SET DELE ON thì các bản ghi bị đánh dấu xóa sẽ không có hiệu lực đối với các lệnh tác động lên tệp. Nếu SET DELE OFF thì tất cả các bản ghi trên tệp đều như sau không phân biệt bị đánh dấu xóa hay không. Ngầm định là SET DELE OFF Ví dụ: USE HSCB GO 6 DELE REST SET DELE ON BROW SET DELE OFF BROW Chương 5. Sửa đổi dữ liệu 4. Các lệnh loại bỏ dữ liệu 4.5. Xóa vật lý Là loại bỏ hẵn khỏi tệp CSDL và không thể phục hồi bằng lệnh RECALL. a. Lệnh PACK Các bản ghi bị đánh dấu xóa sẽ bị xóa vật lý nếu ta dùng lệnh PACK. b. Lệnh ZAP Tất cả các bản ghi trong tệp CSDL không phân biệt có bị đánh dấu xóa hay không, sẽ bị xóa vật lý khi ta dùng lệnh ZAP. Ví dụ: USE HSCB DELE FOR HSL=0 PACK Ví dụ: USE HSCB ZAP Chương 5. Sửa đổi dữ liệu
Tài liệu liên quan