Bài 1: Tạo tệp CSDL
1. Khởi động và thoát:
a. Khởi động:
- Khởi động: Kích đúp chuột vào biểu t-ợng foxpro trên màn hình nền.
- Foxpro có hai chế độ làm việc là chế độ hội thoại và chế độ lập trình:
+ Chế độ hội thoại: Là chế độ thông dịch, mỗi khi ta ra lệnh trong cửa sổ lệnh (cửa sổ
Command) thì Foxpro dịch và thi hành lệnh ngay lập tức.
+ Chế độ lập trình: Là chế độ biên dịch, các câu lệnh của Foxpro đ-ợc viết trong một tệp gọi
là tệp ch-ơng trình có phần mở rộng là *.prg. Các câu lệnh có mối quan hệ với nhau tạo thành
một ch-ơng trình hoàn thiện. Khi thực hiện ch-ơng trình, Foxpro sẽ lần l-ợt dịch và thi hành
tất cả các câu lệnh đó.
b. Thoát:
- C1: Từ cửa sổ Command gõ lệnh: Quit
- C2: Bấm F10/ chọn mục File/ Quit.
2. Các kiểu dữ liệu cơ bản và các phép toán:
a. Kiểu ký tự Character (C):
- Bao gồm chuỗi các ký tự trong bảng mã chuẩn ASCII, có độ dài tối đa là 254 ký tự.
- Các phép toán: +, -
b. Kiểu số Numberic (N):
- Chứa các số có độ dài tối đa 20 ký tự, bao gồm cả dấu chấm ngăn cách phần thập phân.
- Phép toán: +, -, *, /, ^
c. Kiểu số Float (F):
- Chứa các số đ-ợc biểu diễn theo dạng toán học.
- Ví dụ: Số 1685.54 viết là 1.68554E+3 tức là 1.68554*10
3
.
- Phép toán: +, -, *, /, ^
d. Kiểu Logic (L):
- Chỉ bao gồm hai giá trị là TRUE (.T.) hoặc FALSE (.F.)
- Phép toán: AND, OR, NOT
kiểu số.
* Dec: Số chữ số sau phần thập phân, chỉ áp dụng đối với kiểu số.
Khi thiết kế xong tệp CSDL, ta bấm Ctrl+W để ghi lại cấu trúc và thoát khỏi màn hình thiết
kế. Foxpro sẽ hỏi: Input data records now? có nhập dữ liệu cho các bản ghi bây giờ không?
Nếu chọn Yes thì sẽ xuất hiện màn hình nhập dữ liệu liệu cho tệp vừa tạo. Nhập dữ liệu xong
ta lại bấm Ctrl+W để l-u lại dữ liệu và trỏ về cửa sổ Command.
Tệp sau khi tạo xong sẽ ở trạng thái mở.
+ Nếu dùng cú pháp th- hai thì sẽ không xuất hiện màn hình thiết kế mà Foxpro sẽ tự thiết
kết tệp CSDL theo cấu trúc đã chỉ định.
4. Mở - đóng tệp CSDL:
- Khi muốn làm việc với bất kỳ tệp CSDL nào, ta đều phải ra lệnh mở tệp đó.
- Mở tệp CSDL:
USE <Tên_tệp.DBF>
- Đóng tệp CSDL:
USE
CLOSE DATABASE
CLOSE ALL
- Chú ý: Tại một thời điểm Foxpro chỉ làm việc đ-ợc với một tệp CSDL, khi mở một tệp mới
thì tệp cũ sẽ bị đóng.
5. Bổ sung các bản ghi vào tệp CSDL:
- Cú pháp:
APPEND [BLANK]
- Giải thích:
+ Lệnh trên sẽ bổ sung các bản ghi vào cuối tệp CSDL đang mở.
+ Nếu trong câu lệnh có thành phần BLANK thì sẽ bổ sung một bản ghi trắng vào tệp CSDL.
Khi đó sẽ không xuất hiện màn hình nhập dữ liệu.
Bài 2: Nhập và sửa nội dung bản ghi
1. Con trỏ bản ghi và dịch chuyển con trỏ bản ghi:
+ GO <n>: Chuyển tới bản ghi thứ n.
+ GO TOP: Chuyển tới bản ghi đầu tiên.
- Cú pháp:
BROWSE [FIELDS <DS tr-ờng>] [FOR <BtL1>]
[TITLE <BtC1>] [WIDTH <BtN1>]
[LPARTITION] [PARTITION <BtN2>]
[NOLINK] [LEDIT] [REDIT] [LOCK <BtN3>]
[FREEZE <Tên tr-ờng>]
[NOEDITNOMODIFY] [NOAPPEND] [NODELETE]
+ Để bổ sung một bản ghi vào cuối tệp CSDL ta bấm Ctrl+N.
+ Để đánh dấu xoá bản ghi ta bấm Ctrl+T.
+ FILEDS <DS tr-ờng>: Chỉ hiển thị những tr-ờng có trong danh sách.
+ FOR <BtL1>: Chỉ làm việc với các bản ghi thoả mãn <BtL1>.
+TITLE <BtC1>: Dùng <BtC1> làm tiêu đề của cửa sổ Browse thay cho tiêu đề ngầm định
là tên tệp CSDL.
+ WIDTH <BtN1>: Phần này quy định chiều rộng tối đa để hiển thị một tr-ờng trên màn
hình là <BtN1>. Nếu không có thành phần này thì độ rộng dành cho các tr-ờng chính là độ
rộng của kiểu dữ liệu của tr-ờng đó. Ví dụ WIDTH 10 thì trong cửa sổ trình duyệt sẽ dành
cho các tr-ờng tối đa là 10 ký tự.
+ PARTITION <BtN2>: Theo mặc định cửa sổ Browse chiếm toàn màn hình (phóng to thu
nhỏ cửa sổ bằng cách bấm Ctrl+F10). Từ khoá trên sẽ phân màn hình thành 2 phần theo chiều
dọc. Phần bên trái gồm <BtN2> cột, phần bên phải là số cột còn lại của màn hình (màn hình
có 80 cột và 24 dòng).
Bình th-ờng con trỏ sẽ nằm ở phần bên phải. Di chuyển con trỏ (vệt sáng) giữa hai phần
bằng cách bấm Ctrl+H.
Theo ngầm định, khi vệt sáng ở một phần di chuyển thì vệt sáng ở phần kia cũng di chuyển
theo. Ta có thể bỏ chế độ liên kết này bằng từ khoá NOLINK (hoặc bấm Ctrl+B rồi chọn
Unlink Partition).
+ LPARTITION: Từ khoá này quy định con trỏ màn hình ở khu vực trái ngay sau khi khởi
động lệnh Browse với từ khoá PARTITION.
+ LEDIT và REDIT: Khi dùng PARTITION, trong cả hai phần của cửa sổ BROWSE đều
hiện theo dạng Browse (dạng hàng ngang), ta có thể cho hiện theo dạng Change (dạng hàng
l-u trữ, nếu có gì trục trặc ta vẫn còn bản cũ.
2. Sao chép cấu trúc tệp CSDL:
- Cú pháp:
COPY STRUCTURE TO <tên_tệp.DBF> [FIELDS <DS tr-ờng>]
+ Lệnh này sao chép cấu trúc tệp CSDL đang mở sang một tệp mới là <Tên_tệp.DBF>
+ Tệp mới tạo thành chỉ có cấu trúc, ch-a có nội dung bản ghi.
+ Nếu có thành phần FIELDS <DS tr-ờng> thì chỉ những tr-ờng nằm trong danh sách mới
đ-ợc sao chép, tức là tệp mới tạo thành chỉ bao gồm các tr-ờng có trong danh sách.
3. Sao l-u cấu trúc:
- Cú pháp:
COPY STRUCTURE EXTENDED TO <Tên_tệp.DBF>
[FIELDS <DS tr-ờng>]
+ Lệnh này sẽ sao chép cấu trúc của tệp CSDL đang mở thành các bản ghi của
<Tên_tệp.DBF>. Tệp CSDL mới tạo thành này có bốn tr-ờng cố định:
* FIELD_NAME C(10): Ghi tên các tr-ờng của tệp CSDL cần l-u.
* FIELD_TYPE C(1): Ghi kiểu của tr-ờng.
* FIELD_LEN N(3,0): Ghi độ rộng của tr-ờng.
* FILED_DEC N(3,0): Ghi số chữ số sau phần thập phân của tr-ờng số.
+ Nếu có thành phần FIELDS <DS tr-ờng> thì chỉ những tr-ờng nằm trong danh sách của
tệp CSDL đang mở mới đ-ợc sao.
- Chú ý: Sau khi l-u cấu trúc của tệp đang mở sang <Tên_tệp.DBF>, ta có thể tạo một tệp
CSDL mới có cấu trúc t-ơng ứng với các bản ghi của <Tên_tệp.DBF> bằng lệnh:
CREATE <Tệp_mới.DBF> FROM <Tên_tệp.DBF>
4. Sao chép cấu trúc và bản ghi:
- Cú pháp:
COPY TO <Tên_tệp.DBF>
[FIELDS <DS tr-ờng>] [<Phạm vi>]
[FOR <BtL1>] [WHILE <btL2>]
+ Lệnh trên sẽ sao chép cấu trúc cùng bản ghi của tệp CSDL đang mở sang tệp CSDL mới là
<Tên_tệp.DBF>.
Delete All
Pack
e. Các lệnh và các hàm liên quan:
- Lệnh SET DELETE ON/OFF: Đặt chế độ xử lý các bản ghi bị đánh dấu xoá. Ta có thể tạm
thời che các bản ghi bị đánh dấu xoá bằng lệnh SET DELETE ON, khi đó các bản ghi đã bị
đánh dấu xoá sẽ tạm thời bị che đi coi nh- không tồn tại. Nếu ta dùng các lệnh DISPLAY,
LIST thì các bản ghi đó sẽ không đ-ợc hiện lên.
- Hàm Delete(): Trả về kết quả giá trị Logic, cho biến bản ghi hiện hành có bị đánh dấu xoá
(TRUE) hay không (FALSE).
Bài 4: Quản lý các tệp
1. Lệnh DIR:
- Cú pháp:
DIR <Tên_tệp>
+ Lệnh trên dùng để liệt kê các tệp CSDL trong th- mục hiện hành.
+ Trong <Tên_tệp> có thể dùng các ký tự đại diện:
* Dấu * đại diện cho một nhóm ký tự.
* Dấu ? đại diện cho một ký tự.
+ Nếu chỉ dùng lệnh DIR thì Foxpro liệt kê tất cả các tệp CSDL trong th- mục hiện hành.
2. Lệnh DISPLAY FILES:
- Cú pháp:
DISPLAY FILES [ON <Đ-ờng dẫn>]
[LIKE <Nhóm tệp>] [TO PRINTER]
+ Lệnh trên cho hiển thị các tệp.
+ Nếu có ON <Đ-ờng dẫn> thì sẽ hiển thị các tệp ở th- mục chỉ ra trong <đ-ờng dẫn>.
+ Nếu có LIKE <Nhóm tệp> thì sẽ hiển thị các tệp theo nhóm chỉ định.
+ Muốn in kết quả ra máy in, ta thêm thành phần TO PRINTER.
3. Lệnh DELETE:
- Cú pháp:
DELETE FILE <Tên_tệp>
ERASE <Tên_tệp>