intTypePromotion=1
zunia.vn Tuyển sinh 2024 dành cho Gen-Z zunia.vn zunia.vn
ADSENSE

Visual Foxpro - Bài 5

Chia sẻ: Nguyen Nhi | Ngày: | Loại File: PDF | Số trang:19

224
lượt xem
80
download
 
  Download Vui lòng tải xuống để xem tài liệu đầy đủ

Làm việc với bảng và bản ghi I. Làm việc với bảng Tạo bảng Lệnh: CREATE TABLE (FieldName1 Ftype1(width1) [, ...]) (xem bài 4) CREATE [TableName] (Tương tự lệnh CREATE TABLE) Mở một bảng đã có Lệnh: USE [ALIAS ] [EXCLUSIVE] Trong đó TableName là tên bảng cần mở hoặc khi không nhớ có thể dùng dấu ? để mở hộp thoại Open File; tùy chọn ALIAS cho phép đặt tên “vùng” làm việc với tên là , khi không co tùy chọn này thì tên “vùng” của bảng được mở trùng với tên bảng; tùy chọn EXCLUSIVE không cho...

Chủ đề:
Lưu

Nội dung Text: Visual Foxpro - Bài 5

  1. Bài 5 - Làm việc với bảng và bản ghi I. Làm việc với bảng Tạo bảng Lệnh: CREATE TABLE (FieldName1 Ftype1(width1) [, ...]) (xem bài 4) CREATE [TableName] (Tương tự lệnh CREATE TABLE) Mở một bảng đã có Lệnh: USE
  2. Ví dụ: -> (tên vùng làm việc USE HOSOSV là HOSOSV) hoặc USE HOSOSV ALIAS SINHVIEN -> (tên vùng làm việc là SINHVIEN) hoặc -> Tiếp đến chọn file USE ? (bảng) cần mở Sửa cấu trúc của bảng Lệnh: MODIFY STRUCTURE Lệnh này cho phép sửa đổi cấu trúc của bảng đang mở, giao diện này chính là giao diện CREATE TABLE (xem bài 4). Trường hợp chưa có bảng nào mở thì lệnh này sẽ mở hộp thoại Open file cho phép chọn file(bảng) cần mở và sau đó sẽ tiếp tục. Ví dụ ... Lệnh:
  3. ALTER TABLE [COLUMN] FiledName1 FType1(n) ... Lệnh này cho phép tự động sửa chữa cấu trúc của 1 bảng nào đó (thường sử dụng trong chương trình). Ví dụ USE DIEM EXCLUSIVE ALTER TABLE DIEM ADD COLUMN Test1 C(20) - >Thêm trường Test1 là C ALTER TABLE DIEM ALTER COLUMN Test1 N(20) ->Sửa trường Test1 thành N ALTER TABLE DIEM DROP COLUMN Test1 - >Xóa trường Test1 Đóng bảng đã mở Lệnh USE && Không tham số sẽ đóng bảng hiện thời USE IN Trong đó AliasName là tên vùng một bảng nào đó đang mở, ví dụ: USE IN DIEM
  4. II. thêm, sửa, xoá các bản ghi Con trỏ bản ghi Con trỏ bản ghi trỏ đến bản ghi hiện thời của bảng đang mở. Khi mở bảng con trỏ bản ghi sẽ đặt ở bản ghi đầu tiên. Lệnh: -> Chuyển đến bản ghi đầu tiên GO TOP -> Chuyển đến bản ghi cuối GO BOTTOM cùng -> Chuyển đến bản ghi thứ n GO Ví dụ USE DIEM GO TOP GO 10 GO BOTTOM Lưu ý: Nếu n lớn hơn số bản ghi hiện có của bảng thì chương trình sẽ trả về thông báo Record is out of range. Lệnh
  5. SKIP Dịch chuyển con trỏ bản ghi đi n bản ghi kể từ bản ghi hiện thời (n có thể >0 hoặc
  6. LOCATE FOR (Hoten=”Phan Văn Việt”) and (gioi=.F.) Lưu ý: Khi tìm thấy thì hàm FOUND() sẽ trả về giá trị TRUE, ngược lại trả về FALSE. Lệnh COUNTINUE Khi sử dụng lệnh LOCATE, ta có thể dùng lệnh COUNTINUE để tìm bản ghi tiếp theo thoả mãn . Thêm mới bản ghi Lệnh APPEND [BLANK] Lệnh này cho phép thêm 1 bản ghi vào bảng và hiển thị giao diện cập nhật. Ví dụ USE HOSOSV Khi đó giao diện Appen xuất hiện như APPEN hình sau:
  7. Lưư ý: Bản ghi này chỉ thực sự được thêm vào nếu có cập nhật thông tin vào 1 trong các trường của bản ghi đó. Trường hợp nếu muốn thêm một bản ghi trống thì có thể thêm vào tham số BLANK, khi sử dụng tham số này thì bản ghi sẽ thực sự được thêm vào CSDL cả khi không cập nhật 1 trường thông tin nào (thường sử dụng trong chương trình). Lệnh BROWSE [FIELD ] [ FOR ] [FONT [, FontSize]] [STYLE cFontStyle] [ TITLE ]
  8. Browse là một lệnh đa năng cho phép thực hiện hầu hết các công việc với bản ghi như xem, sửa, xóa, thêm mới ... Trong cửa sổ BROWSE, sử dụng phím Ctrl+Y để thêm 1 bản ghi trống vào bảng. Ví dụ BROW Tùy chọn FIELD cho phép chỉ hiển thị các trường trong , ví dụ chỉ hiện thị tên và ngày sinh của HOSOSV: BROW FIELD Hoten,ngaysinh. Tùy chọn FOR cho phép chỉ hiển thị các bản ghi mà BieuThucLogic =TRUE, ví dụ chỉ thiển thị những người thuộc lớp “3A-04”. BROW FOR malop=”3A-04”. Tùy chọn FONT, STYLE cho phép chọn Font chữ dùng trong cửa sổ Brow, ví dụ sử dụng font “.vntime”: BROW FONT “.vntime”,12 Tùy chọn TITLE cho phép đặt tên cho cửa sổ Browse là TieuDe. ví dụ BROW FONT “.vntime”,12 TITLE “Ho so sinh vien” Lệnh
  9. INSERT INTO (FieldName List) VALUE(Value List) Thêm mới 1 bản ghi đồng thời xác định giá trị cho các trường của bản ghi đó. Ví dụ USE HOSOSV INSERT INTO HOSOSV(masv,hoten) VALUE(“00001”,”TEST”) Sửa bản ghi Lệnh -> Sửa bản ghi - tương tự giao diện EDIT Append -> Xem mục trên BROWSE Lệnh REPLACE [Scope] [FOR ] Lệnh này cho phép cập nhật giá trị của FieldName1 với giá trị của BieuThuc1, FieldName2 với giá trị của
  10. BieuThuc2 .... Lệnh này thường được sử dụng trong chương trình. Tham số Scope xác định phạm vi tác động của lệnh, có thể là: :Tất cả các bản ghi ALL NEXT n : n bản ghi tính từ bản ghi hiện thời : Bản ghi thứ n RECOR n : Từ bản ghi hiện thời đến cuối REST Trường hợp mặc định là bản ghi hiện thời Tùy chọn FOR cho phép thực hiện lệnh với những bản ghi thỏa mãn BieuThucLogic. Ví dụ: USE HOSOSV REPLACE ALL ghichu with “Ghi chu ALL” GO 5 REPLACE ghichu with “Ghi chu 5” GO 15 REPLACE NEXT 10 ghichu with “Ghi chu Next 10” REPLACE REST ghichu with “Ghi chu REST” Xoá bản ghi
  11. Lệnh DELETE [Scope] [FOR ] Đánh dấu xóa các bản ghi nằm trong Scope và thỏa mãn BieuThucLogic. Việc xóa các bản ghi trong các bảng được thực hiện theo 2 bước, bước 1: là đánh dấu xóa các bản ghi, bước 2: xóa các bản ghi đã đánh dấu khỏi bảng, lệnh DELETE thực hiện bước 1. Tùy chọn Scope và FOR như mục trên. Ví dụ USE HOSOSV DELELE ALL FOR empty(malop) Lệnh PACK Lệnh PACK thực hiện bước thứ 2 là xóa các bản ghi đã đánh dấu xóa. ví dụ PACK Lệnh RECALL [Scope] [FOR ]
  12. Đối với các bản ghi đã bị đánh dấu xóa (bằng lệnh DELETE) khi cần có thể khôi phục lại bằng lệnh RECALL. Tùy chọn Scope và FOR tương tự mục trên. Lệnh ZAP Trường hợp đã xác định rõ cần xóa toàn bộ các bản ghi khỏi bảng thì có thể sử dụng lệnh ZAP (ZAP = DELETE +PACK). III. sắp xếp, lọc các bản ghi Sắp xếp Lệnh INDEX ON [ASCENDING | DESCENDING] Với các bảng dữ liệu, có thể sắp xếp các bản ghi theo một thứ tự (tiêu chuẩn nào đó) nào đó. Lệnh INDEX cho phép tạo ra các tiêu chuẩn sắp xếp (chỉ mục - index) đối với bảng, tham số chính là tiêu chuẩn sắp xếp.
  13. Tùy chọn TO IDXFile cho phép tạo ra file chỉ mục dạng IDX, với tên file là IDXFile và phần mở rộng là IDX (tạo chỉ mục dạng này sẽ không thể chọn được chiều DESCENDING và mỗi file chỉ xác định 1 tiêu chuẩn sắp xếp). Tùy chọn TAG TagName cho phép tao ra một chỉ mục có tên là TagName trong file chỉ mục kết hợp (file chỉ mục này có tên trùng với tên bảng, và phần mở rộng là CDX, tạo chỉ mục dạng này sẽ cho phép chọn ASCENDING hoặc DESCENDING và mỗi file có thể có chứa nhiều tiêu chuẩn sắp xếp). Ví dụ USE HOSOSV INDEX ON masv TO masvidx BROW INDEX ON hoten TAG hoten2 DESCENDING BROW Lệnh SET ORDER TO [IDXFile | TagName] Lệnh này cho phép thay đổi tiêu chuẩn sắp xếp của bảng. Trong đó: IDXFile - tên file dạng IDX (đã tạo bằng lệnh
  14. INDEX trước đó); TagName - Tên chỉ mục trong file kết hợp (file dạng CDX). Ví dụ USE HOSOSV SET ORDER TO Masv BROW SET ORDER TO Hoten2 BROW SET ORDER TO masvidx SET ORDER TO (không tham số) dùng để bỏ việc sắp xếp (trở lại thứ tự nhập). Lọc Lệnh SET FILTER TO Trường hợp chỉ cần làm việc với một số các bản ghi nào đó (lọc - filter) thì chúng ta sử dụng lệnh này, trong đó BieuThucLogic là tiêu chuẩn để lọc. Ví du USE HOSOSV SET FILTER TO malop=”3A-01” BROWSE SET FILTER TO ngaysinh=date() BROWS TITLE “Sinh nhat: ”+ DTOC(date())
  15. SET FILTER TO (không tham số) dùng để bỏ lọc. IV. Làm việc với nhiều bảng Vùng làm việc Visual Foxpro cho phép mở nhiều bảng dữ liệu đồng thời, mỗi bảng trên một vùng làm việc (WorkArea) nhất định. Visual Foxpro cho phép mở tối đa là 255 vùng làm việc đồng thời, mỗi vùng được xác định qua tên hoặc số hiệu vùng. Lệnh SELECT Lệnh này cho phép chọn vùng làm việc, trong đó: n là số thứ tự của vùng cần chuyển đén; TableName là tên bảng hoặc aliasname. Ví dụ SELECTE A USE DMLOP ALIAS LOP SELECTE B USE HOSOSV ALIAS SINHVIEN SELECTE 0 USE DIEM
  16. Trong ví dụ trên đã tạo ra 3 vùng làm việc: Vùng 1 (hoằc vùng A hoặc LOP), Vùng 2 (hoặc vùng B hoặc SINHVIEN), Vùng 3 (hoặc DIEM). Lưu ý: Khi chọn n=0 thì Visual Foxpro sẽ tự động chọn vùng cao nhất cong trống. Liên kết giữa các bảng
  17. Visual Foxpro cho phép đặt liên kết (mối “quan hệ”) giữa các bảng để có thể tạo ra một bảng to hơn từ các bảng con. Lệnh SET RELATION TO INTO Lệnh này cho phép đặt quan hệ từ bảng hiện thời vào bảng được mở ở vùng n (hoặc TableName hoặc AliasName), trong đó BieuThuc là tiêu chuẩn đế đặt quan hệ. Lưu ý: Bảng được mở trong vùng AliasName phải được index theo BieuThuc này rồi. Ví dụ: SELECTE A USE DMLOP ALIAS LOP INDE ON ma TO malopidx BROW SELECT B USE HOSOSV ALIAS SINHVIEN SET RELATION TO malop INTO LOP
  18. BROW (trong ví dụ này bảng DMLOP gọi là bảng cha, bảng HOSOSV gọi là bảng con) Khi con trỏ di chuyển trong bảng con thì con trỏ trong bảng cha cũng thay đổi tương ứng. V. Một số hàm và lệnh khác Một số hàm - Trả về số hiệu bản ghi hiện thời Hàm RECNO() - Trả về số bản ghi hiện có của Hàm RECCOUNT() bảng - Định danh của vùng hiện thời Hàm ALIAS() Hàm DBF() - Tên file DBF Hàm EOF(), BOF() - Trạng thái TRUE nếu con trỏ vượt quá Beginning và End Một số lệnh khác LIST [Scope] [Field ] [FOR ]
  19. COUNT [ TO VarName ] [ FOR expL1 ] [ While expL2 ] [ Phạm vi ] AVERAGE expN TO VarName [ FOR expL1 ] [ While expL2 ] [ Phạm vi ] SUM TO FOR expL1 ] [ While expL2 ] [ Phạm vi ] CALC TO [ FOR expL1 ] [ While expL2 ] [ Phạm vi ] max(expr), min(expr), aver(expN) COPY TO [ FOR expL1 ] [ While expL2 ] [ Phạm vi ] COPY STRUCTURE TO [EXTENDED] APPEND FROM [ FOR ] Bài tập 1. Cập nhật dữ liệu cho tất cả các bảng của Database DIEMDB (đã tạo trong bài 4, dữ liệu là danh sách lớp). 2. Thực hiện các ví dụ trong bài học.
ADSENSE

CÓ THỂ BẠN MUỐN DOWNLOAD

 

Đồng bộ tài khoản
2=>2