1. Trang chủ
  2. » Giáo án - Bài giảng

De cuong th fox

78 415 0
Tài liệu đã được kiểm tra trùng lặp

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

Nội dung

Bài tập 1 : Các thao tác ban đầu với tệp CSDL 1. Tạo tệp CSDL : Dùng lệnh: CREA LUONG Tạo tệp LUONG có cấu trúc nh sau: Fields name Type Width DEC HODEM C 15 TEN C 7 DONVI C 4 LUONG N 8 THUONG N 8 PHUCAP N 6 TAMUNG N 8 Sau khi khai báo xong, ấn CTRL+W để ghi lại Trả lời Y khi máy hỏi : Input data records now(Y/N)? Vào 10 bản ghi xong ấn CTRL+W để ghi lại 2. Xem thông tin: Gõ lệnh: LIST - Nếu muốn xem danh sách tất cả các cán bộ ở phòng kế hoạch (KH) bằng lệnh: DISPLAY ALL FOR DONVI=KH - Nếu vào tròng DONVI không thống nhất:Kh,kH Ta dùng lệnh đổi thành chữ hoa: UPPER( ). DISPLAY ALL FOR UPPER(DONVI)=KH 3. Sửa cấu trúc: - Bổ sung thêm cột CONLAI để tính số tiền thực nhận : MODI STRU Đa vệt sáng xuống dới và bổ sung thêm trờng còn lại CON LAI N 8 0 -Thay đổi đơn vị trờng THUONG lên trên trờng PHUCAP bằng cách đa vệt sáng đến cột THUONG ấn đồng thời CTRL+PgUp (ấn Ctrl để ghi lại) - Để kiểm tra lại hãy dùng lệnh: LIST - Sao chép cấu trúc tệp đang mở: COPY STRU TO LUU Tệp LUU.DBF đã đợc tạo ra có cấu trúc giống nh tệp LUONG.DBF. 4. Dùng kỹ thuật sao luu cấu trúc để thêm một tr ờng thành tiền USE luong list copy stru exte to luong2 use luong2 disp stru disp all appe blan 1 repl field_name with 'ttien' repl field_type with 'N' repl field_len with '10' repl field_len with 10 repl field_dec with 2 use creat luong3 from luong2 appe from luong use tkiem3 list repl all ttien with luong * 1.5 disp all 4. Sửa lại nội dung một bản ghi: Gõ lệnh : GO 5 EDIT Hoặc BROWSE (Sau khi sửa xong hãy ấn Ctrl+W để ghi lại) 5. Đóng tệp và kết thúc công việc. Gõ lệnh : USE Hoặc : ClOSE DATABASES ClOSE ALL 6. Mở tệp và bổ sung bản ghi mới: Gõ lệnh USE LUONG - Sau đó bổ sung dùng lệnh: APPE Khi đó màn hình hiện ra cho ta nhập nội dung bản ghi mới muốn thêm vào cuối tệp DBF. (Sau khi bổ sung xong ấn CTRL+Wđể ghi lại) 7.Chèn thêm bản ghi mới: - Gỉả sử ta muốn chèn một bản ghi mới sau bản ghi thứ 6. Hãy ra lệnh: GO 6 INSERT Khi đó màn hình hiện ra cho ta nhập nội dung bản ghi mới muốn thêm. - Nếu muốn chèn trớc bản ghi số 6 một bản ghi mới,ta gõ lệnh: GO 6 INSERT BEFO Khi đó màn hình hiện ra cho ta nhập nội dung bản ghi mới muốn thêm. 8- Hiện thị ra màn hình LUONG nhỏ nhất USE luong list index on luong to csluong disp sotien 2 9- Hiện thị ra màn hình LUONG lớn nhất index on -luong to cslg disp sotien 8.Sửa lại nội dung nhiều bản ghi: Ta tính lại tiền thởng theo chỉ tiêu sau: - Lơng dới 200.000 tiền thởng = 65% lơng - Lơng từ 200.000 đến dới 300.000 tiền thởng = 50% lơng - Lơng từ 300.000 đến dới 400.000 tiền thởng = 45%lơng - Lơng từ 400.000 trở lên tiền thởng = 40% lơng Các câu lệnh sẽ đợc thực hiện nh sau: REPL ALL THUONG WITH 65/100*LUONG FOR LUONG < 200.000 REPL ALL THUONG WITH 50/100* LUONG FOR LUONG >= 200.000 AND LUONG< 300.000 REPL ALL THUONG WITH 45/100*LUONG FOR LUONG >=300.000 AND LUONG <400.000 REPL ALL THUONG WITH 40/100* LUONG FOR LUONG >= 400.000 9. Tổng số tiền thực lĩnh của từng cán bộ: REPL ALL CONLAI With (LUONG+THUONG+PHUCAP-TAMUNG) Kiểm tra lại dùng lệnh : LIST TEN,CONLAI 10. Xoá 1 bản ghi: -Khi muốn xoá bản ghi thứ 10 , ta gõ lệnh : GO 10 Delete - Khi muốn xoá bản ghi thứ 8 , ta gõ lệnh : GO 8 Delete - Khi muốn phục hồi lại bản ghi thứ 10 , ta gõ lệnh : RECA RECORD 10 - Khi ta muốn xoá hẳn khỏi DBF và không thể phục hồi lại đợc nữa, ta gõ lệnh : PACK 11. Sao chép bản ghi : - Khi ta muốn lấy ra danh sách riêng của phòng kế hoạch, ta gõ lệnh sau : COPY TO KH FOR UPPER(DONVI)= KH Khi đó ta có một tệp có tên là KH.DBF đã đợc tạo ra để lu trữ lơng của phòng kế hoạch. 3 Bài tập 2 : Các thao tác ban đầu với tệp CSDL ( tiếp ) A. sắp xếp và tìm kiếm dữ liệu 1. Các yêu cầu của việc sắp xếp Trớc khi sắp xếp dữ liệu, phải xác định sắp xếp theo trờng nào, theo thứ tự tăng hay giảm dần, trờng nào u tiên sắp xếp trớc, có phân biệt chữ hoa hay chữ th- ờng không. 2. Sắp xếp bằng lệnh SORT Cú pháp: SORT TO <Tệp mới > ON <Trờng 1> [/A][/C][/D] [,< Trờng 2> [/A][/C][/D] . . . . . . . . . . [,< Trờng n> [/A][/C][/D] [ <Phạm vi>] [FOR <Bt logic 1> | WHILE <Bt logic 2>] [FIELDS <DS Trờng>] - Lệnh SORT sắp xếp các bản ghi theo các trờng đợc chỉ thị sau ON và ghi ra tệp có tên <Tệp mới>. - Các chỉ tiêu sắp xếp: /A ( Ascending) : Sắp xếp theo thứ tự tăng dần. /D ( Descending) : Sắp xếp theo thứ tự giảm dần. /C Để xác định không phân biệt chữ hoa hay chữ thờng đối với trờng đợc sắp xếp có kiểu dữ liệu là ký tự. Nếu không có /A /D thì FOXPRO hiểu là sắp xếp theo thứ tự tăng dần. Nếu có hai chỉ tiêu cùng một trờng thì viết /AC hoặc /DC. Ví dụ: USE HSLUONG SORT TO SAPXEP ON HOTEN /AC USE SAPXEP BROW 3. Sắp xếp bằng lệnh INDEX (tệp chỉ số) *) Cú pháp: INDEX ON <Biểu thức khoá > TO < Tên tệp chi số> [FOR <BT logic>] [COMPACT][UNIQUE][ADDITIVE] 4 Ví dụ : Giả sử với tệp HSLUONG.DBF USE HSLUONG INDEX ON HOTEN TO CSTEN LIST HOTEN,LUONG DISP STATUS INDEX ON LUONG TO CSLUONG ADDI LIST HODEM, HOTEN, LUONG DISP STATUS - Muốn chuyển đến một tệp chỉ số không phải là tệp chỉ số hiện thời ta dùng lệnh: SET ORDER TO <N>/ <Tên tệp chỉ số> Ví dụ: SET ORDER TO 2 Hoặc SET ORDER TO CSLUONG *) Mở tệp chỉ số sau khi đã mở tệp CSDL (DBF). - Trong trờng hợp các tệp CSDL đã mở, ta mở các tệp chỉ số sau đó bằng lệnh: Cú pháp: SET INDEX TO <Danh sách tệp chỉ số> Ví dụ: USE HSLUONG SET INDEX TO CSTEN, CSLUONG DISPLAY ALL (Đã đợc sắp theo tên) SET ORDER TO CSLUONG DISPLAY ALL (Đã đợc sắp theo lơng) - Khi không cần các tệp chỉ số nữa, ta nên đóng chúng lại bằng lệnh : SET INDEX TO Hoặc CLOSE INDEX *) Cập nhật tệp chỉ số Trong quá trình khai thác CSDL có lúc ta không mở hết các tệp chỉ số của nó. Điều đó dẫn đến tệp chỉ số đó không đợc thay đổi cho phù hợp với sự thay đổi ở tệp CSDL đang mở. Vì vậy để cập nhật ta dùng lệnh sau: REINDEX Ví dụ: USE HSLUONG INDEX ON HOTEN TO CSTEN CLOSE ALL USE HSLUONG APPEND 5 (Sau khi thêm các bản ghi thì tệp chỉ số CSTEN không đợc cập nhật) CLOSE ALL USE HOCSINH INDEX CSHOTEN LIST ALL REINDEX LIST ALL V. Tìm kiếm 1. Lệnh tìm kiếm tuần tự LOCATE Cú pháp: LOCATE [<Phạm vi>] [ FOR <Bt logic>] Khi gặp lệnh này, FOXPRO sẽ lần lợt duyệt qua tệp CSDL đang mở để tìm ra bản ghi đầu tiên trong <Phạm vi> thoả mãn <Bt logic>. Sau khi đã tìm đợc một bản ghi thoả mãn <BT logic>, việc tìm kiếm tạm dừng lại để ta xử lý, ví dụ nh hiển thị thông tin ra màn hình (DISPLAY), sửa đổi (CHANGE) . . . Việc tìm kiếm chỉ đợc tiếp tục khi ta ra lệnh CONTINUE. Nếu tìm thấy bản ghi thì hàm FOUND() cho giá trị .T. Hàm RECONO() cho kết quả là số hiệu bản ghi vừa tìm thấy. Nếu không tìm thấy bản ghi nào, LOCATE thông báo End of locate scope và con trỏ bản ghi đợc chuyển đến vị trí kết thúc tệp EOF (End of File ) và lúc này thì: Hàm RECNO( ) cho giá trị bằng tổng số bản ghi của tệp CSDL cộng thêm 1. Hàm EOF( ) cho giá trị .T. Hàm FOUND( ) cho giá trị .F. Ví dụ: USE HSLUONG LOCATE FOR DIACHI = NGHE AN DISPLAY CONTINUE 2. Tìm kiếm nhanh Để FOXPRO có thể tìm kiếm nhanh theo thuật toán tìm kiếm nhị phân thì tệp CSDL phải đợc sắp xếp chỉ số theo giá trị <khoá> tìm kiếm. 2.1. Lệnh tìm kiếm FIND Cú pháp: FIND <Biểu thức> 6 Lệnh này chỉ tìm kiếm thông tin trên tệp đã đợc sắp xếp theo chỉ số. Trong đó <Biểu thức> có thể là biến có kết quả là một chuỗi ký tự, vì thế chuỗi ký tự không cần đặt trong dấu nháy đơn, nháy kép. Ví dụ : Giả sử tệp HSLUONG.DBF cần tìm trên tệp chỉ số đợc sắp xếp theo tên Record # HODEM TEN DONVI 3 Phan thi Anh Tin hoc 2 Van duc Binh Ke hoach 1 Tran van Sa To chuc 4 Le Van Thuy Dao tao Nếu ta ra lệnh: SET EXACT OFF FIND Thu ? HODEM, TEN, DONVI Kết quả là : Le Van Thuy Dao tao Nhng nếu ra lệnh: SET EXACT ON FIND Thu ? FOUND() kết quả là .F. 2.2. Lệnh tìm kiếm SEEK Cú pháp: SEEK <Biểu thức > Lệnh này đa con trỏ bản ghi về bản ghi đầu tiên có giá trị khoá trùng với giá trị của <biểu thức> viết sau SEEK. Trong đó <Biểu thức > có thể là: - Một hằng (số, chuỗi ): Ví dụ: SEEK 230 SEEK Thu - Một biến: Ví dụ : A= Nghe an SEEK A - Một biểu thức số học: Ví dụ : SEEK 25*5 + 4 - Một biểu thức ngày: Ví dụ : SEEK Date( ) - 10 Chú ý: Lệnh SEEK khác với lệnh FIND - Nếu < Biểu thức> là một biến thì không cần hàm & (Macro) ở phía trớc. - Nếu <Biểu thức > là một chuỗi kí tự thì bắt buộc phải cho vào trong hai dấu nháy đơn, hoặc nháy kép. 7 Ví dụ: USE HSLUONG INDEX ON NGAYSINH TO NS SEEK CTOD('01/01/90') B. Các lệnh xử lý đặc biệt với dữ liệu kiểu số 1. Lệnh SUM Cú pháp: SUM [<Phạmvi>] [<DS biểu thức>] [TO <DS biến nhớ>] [FOR <Bt logic 1>/ WHILE <BT logic 2>] Lệnh SUM tính tổng trên các bản ghi theo <DS biểu thức>. Danh sách biểu thức là một dãy các biểu thức tính theo giá trị các trờng số, phân cách nhau bởi dấu phẩy, mỗi biểu thức tơng xứng với một tổng. Ví dụ : Tính tổng lơng USE HSLUONG SUM LUONG Kết quả tính toán trung gian hiện lên màn hình hay không còn phụ thuộc vào lệnh SET TALK ON/OFF (ngầm định là ON là cho hiện) Ví dụ: SET TALK OFF USE HSLUONG SUM LUONG, PHUCAP,LUONG+PHUCAP TO A1 , A2, A3 ? A1, A2, A3 ,A1,A2,A3 kết quả sẽ hiện lên màn hình. SET TALK ON 2. Lệnh TOTAL Đối với những CSDL đã đợc sắp xếp theo một <biểu thức khoá> nào đó, các bản ghi sẽ đợc xếp lại thành từng nhóm, trong đó hai bản ghi thuộc cùng một nhóm là hai bản ghi có cùng giá trị <biểu thức khoá> sắp xếp. Khi đó ta có thể cộng các trờng số của CSDL này theo từng nhóm nhờ lệnh: TOTAL ON <Biểu thức khoá> TO <Tên tệp mới> [<Phạm vi>] [FIELDS <DS trờng>] [ FOR <Bt logic 1>/ WHILE <Bt logic 2>] Kết quả cộng đợc ghi sang một tệp CSDL mới có tên <tên tệp mới>. Tệp này có cấu trúc nh tệp CSDL ban đầu, trong đó mỗi bản ghi tơng ứng với những tổng tìm đợc của một nhóm. Những tổng này đợc ghi trên các trờng tơng ứng. Ví dụ: Tính tổng LUONG, PHUCAP của các đơn vị trong tệp HSLUONG USE HSLUONG SORT ON DONVI /A TO SAPXEP USE SAPXEP 8 TOTAL ON DONVI TO BAOCAO FIELD LUONG,PHUCAP USE BAOCAO LIST ALL USE 3. Lệnh COUNT Cú pháp : COUNT [<Phạm vi>] [ TO <Biến nhớ>] [FOR <BT logic 1>/ WHILE <BT logic 2] - Lệnh này đếm số bản ghi nằm trong <Phạmvi> và đa vào <Biến nhớ>. Ví dụ: USE HSLUONG COUNT TO A1 && tổng số cán bộ ? A1 COUNT TO B1 FOR DONVI = HC && đếm số cán bộ phòng HC ?B1 COUNT TO C1 FOR LUONG >= 390000 ? C1 3. Lệnh AVERAGE Cú pháp: AVERAGE [<Phạmvi>] [<DS trờng>] [TO<DS biến>] [FOR <Bt logic 1>/WHILE <Bt logic 2>] - Lệnh này tính trung bình cộng trên các bản ghi theo <Danh sách biểu thức>. Các tuỳ chọn khác hoàn toàn giống lệnh SUM. Ví dụ: Tính trung bình cộng của LUONG, PHUCAP, TUOI trong tệp HSLUONG.DBF USE HSLUONG AVERAGE LUONG,PHUCAP,YEAR(DATE())-YAER(NGAYSINH) TO x1,x2,x3 ? Lơng TB= ,x1 ? Phụ cấp TB =,x2 ?Tuổi TB =,x3 Bài tập 3 : Làm việc với nhiều tệp cSDL 1. Xác định vùng làm việc 9 Thông thờng mỗi lần dùng lệnh USE <Tên tệp CSDL> thì chỉ có một tệp CSDL đợc mở trong một vùng làm việc nhất định. Giả sử ta làm việc với nhiều tệp CSDL thì làm thế nào?. FOXPRO cho phép mở một lúc tối đa 25 tệp DBF trên 25 vùng làm việc khác nhau. Các vùng làm việc hoàn toàn độc lập với nhau. FOXPRO đánh số các vùng làm việc từ 0,1,2,. . . hoặc A, B, C, . . . Khi không nói gì đến vùng làm việc thì FOXPRO đang làm việc ở vùng số 1. Để chọn vùng làm việc ta thực hiện: SELECT <n> USE <File DBF > Tại mỗi thời điểm chỉ có một vùng làm việc hiện hành, đó là vùng đợc chọn sau cùng bằng lệnh SELECT. Ví dụ: SELECT 1 USE HSLUONG SELECT 2 USE DONVI Cứ nh vậy ta có thể mở 25 file trên 25 vùng làm việc khác nhau. Tại một thời điểm chỉ có một vùng làm việc, vùng làm việc hiện thời là vùng SELECT cuối cùng. 2. Đặt bí danh cho vùng làm việc Ta có thể mở một tệp CSDL có kèm theo bí danh (để dễ nhớ ) theo hai cách sau: Cách 1: SELECT n USE <Tên tệp CSDL> [ALIAS <Bí danh>] Cách 2: USE <Tên tệp CSDL> [IN <Vùng làm việc>] [ALIAS <Bí danh>] Ví dụ: SELECT 1 USE HSLUONG ALIAS LUONG Hoặc USE HSLUONG IN 1 ALIAS LUONG 3. Truy nhập dữ liệu trên các vùng làm việc khác nhau Để truy nhập vào một trờng nào đó của một bản ghi hiện thời, tuỳ theo từng trờng hợp ta làm nh sau: 10 [...]... hiện th i hoặc th mục chứa chơng trình không đợc khai báo bằng lệnh: SET PATH TO < Danh sách đờng dẫn > Lệnh này nhằm khai báo một danh sách các th mục để FOXPRO tìm đến khi không tìm th y tệp trong th mục làm việc SET DEFAULT TO Lệnh này đặt th mục nằm trong làm th mục làm việc của FOXPRO FOXPRO sẽ tìm các tệp dữ liệu và tệp chơng trình trong th mục này Ví dụ: SET DEFAULT TO C:\QUANLY... Th n chơng trình: Gồm các lệnh của FOXPRO viết nh trong chế độ hội thoại và các lệnh cấu trúc lập trình của FOXPRO, các chơng con hàm và th tục d/ Kết th c: Đóng các file dữ liệu và trả lại môi trờng cho hệ th ng 5 Chạy chơng trình 15 a Dùng lệnh DO ở khung cửa sổ lệnh DO Trong đó: là tên chơng trình mà ta muốn th c hiện Nếu chơng trình không thuộc th mục hiện th i... có th lu tất cả dữ liệu cần cập nhật vào một tệp, sử dụng lệnh UPDATE với cú pháp nh sau: UPDATE ON FROM REPLACE WITH , WITH , WITH [RANDOM] Lệnh UPDATE đòi hỏi tệp dữ liệu hiện th i (cần cập nhật) phải đợc chỉ số hoá theo Nếu tệp không đợc sắp xếp (hoặc không đợc chỉ số hoá) theo cập nhật th ... phím bất kỳ Không nhất thiết phải chỉ th < biến kí tự > Nếu có chỉ th th ký tự ta gõ vào sẽ đợc lu vào Nếu cha tồn tại th FOXPRO sẽ tự tạo ta Nếu không có chỉ th th FOXPRO sẽ nhắc: 'Press any key to continue' Nghĩa là: Hãy ấn một phím bất kỳ để tiếp tục Lệnh này rất hay dùng trong chơng trình để dừng chơng trình tại một th i điểm nào đó Ví... trên màn hình: TRAN VAN NAM b Tham số RANGE [, ] Để qui định dữ liệu đa vào phải nằm trong một giới hạn nào đó đối với kiểu ký tự, số hoặc kiểu ngày Trong đó : là giới hạn dới và là giới hạn trên Nếu ta chỉ có giới hạn dới th không ghi , ngợc lại nếu chỉ có giới hạn trên th ta chỉ ghi với dấu phẩy (,) ở phía trớc để th ng báo không có giới hạn... Field name Type Witdth Dec chú th ch PLY C 4 Phách môn lý PHACH.DBF Điểm môn lý DIEM N 5 2 d) File DHOA.DBF có cấu trúc nhSBD : sau Field name Type Witdth HOTEN chú th ch Dec PTOAN PHOA C 4 Phách môn hoá PLY DIEM N 5 2 Điểm môn hoá PHOA TOAN.DBF LY.DBF HOA.DBF PTOAN DIEM 13 PLY DIEM PHOA DIEM Ta có th dùng lệnh SET RELATION để thiết lập mối quan hệ giữa các tệp để biết điểm của các th sinh: SELECT 1... Dòng chú th ch Là những dòng không dịch , dòng chú th ch dùng để giải nghĩa cho các lệnh hoặc cho một đoạn chơng trình, nó có th đa vào bất kỳ vị trí nào trong chơng trình Dòng chú th ch có dạng: * Dòng chú th ch ( nếu ở đầu dòng ) && Dòng chú th ch ( nếu ở cuối dòng ) Có th dùng kiểu dòng chú th ch để xóa tạm một lệnh Ví dụ: * Chơng trình tìm kiếm bản ghi LOCA FOR LUONG>=500000 Hay có th viết:... TOAN INDEX ON PTOAN TO MTID SELECT 2 USE LY ALIAS LY INDEX ON PLY TO MTID SELECT 3 USE HOA ALIAS HOA INDEX ON PHOA TO MTID SELECT 4 USE PHACH SET RELATION TO PTOAN INTO TOAN,PLY INTO LY,PHOA INTO HOA LIST SBD,HOTEN,TOAN->DIEM,LY->DIEM,HOA->DIEM Bài tập 4 : Cách tạo một chơng trình và cấu trúc chơng trình FOXPRO 1 Cách tạo một chơng trình FOXPRO Muốn soạn th o chơng trình trong hệ soạn th o của FOXPRO... >] [ ADDITIVE] Ví dụ : Trong một kỳ thi tuyển sinh, để đảm bảo việc cho điểm, ngời ta lập 4 file a) DSACH.DBF để lu trữ họ tên th sinh gồm: Field name Type Witdth Dec chú th ch SOBD C 10 Số báo danh HOTEN C 25 Họ và tên PTOAN C 4 Phách môn toán PLY C 4 Phách môn lý PHOA C 4 Phách môn hoá b) File DTOAN.DBF có cấu trúc nh sau : Field name Type Witdth Dec chú th ch PTOAN C 4 Phách môn toán DIEM N 5... từ mảng vào bản ghi Cú pháp: GATHER FROM [FIELDS ] Lệnh này chuyển dữ liệu từ một mảng vào một bản ghi hiện th i của file DBF đang mở Cơ chế chuyển: các phần tử của mảng sẽ đợc chuyển tuần tự vào các trờng của bản ghi hiện th i Ví dụ: DIME A(4) USE CANBO Go 2 GATHER FROM A 25 Khi đó FOXPRO sẽ th c hiện chuyển dữ liệu mảng A vào bản ghi số 2 theo th tự sau: A(1) HOTEN A(2) A(3) . field_name with 'ttien' repl field_type with 'N' repl field_len with '10' repl field_len with 10 repl field_dec with 2 use creat. CONTINUE 2. Tìm kiếm nhanh Để FOXPRO có th tìm kiếm nhanh theo thuật toán tìm kiếm nhị phân th tệp CSDL phải đợc sắp xếp chỉ số theo giá trị <khoá>

Ngày đăng: 02/07/2013, 01:25

Xem thêm

HÌNH ẢNH LIÊN QUAN

3. Bảng chọn ngang: - De cuong th fox
3. Bảng chọn ngang: (Trang 57)

TỪ KHÓA LIÊN QUAN

w