Xem mẫu

  1. Giáo trình Hệ quản trị cơ sở dữ liệu Mục lục Mục lục ....................................................................................................................................... 1 Chƣơng 1. TỔNG QUAN VỀ VISUAL FOXPRO .................................................................... 5 1.1. Tổng quan về Visual FoxPro ........................................................................................... 5 1.1.1. Giới thiệu .................................................................................................................. 5 1.1.2. Khởi động và thoát khỏi Visual Foxpro. ................................................................. 6 1.1.3. Các chế độ làm việc ................................................................................................. 7 1.2. Các khái niệm cơ bản ...................................................................................................... 7 1.2.1. Kiểu dữ liệu .............................................................................................................. 7 1.2.2. Các phép toán ........................................................................................................... 8 1.2.3. Hằng ....................................................................................................................... 11 1.2.4. Biến ......................................................................................................................... 11 1.2.5. Hàm ........................................................................................................................ 12 1.2.6. Biểu thức................................................................................................................. 14 1.2.7. Từ khoá ................................................................................................................... 14 1.2.8. Lệnh và chƣơng trình.............................................................................................. 14 1.3. Quản lý đề án ( Project Manager) .................................................................................. 15 1.3.1. Giới thiệu Project Manager .................................................................................... 15 1.3.2. Tạo một đề án ......................................................................................................... 17 1.3.3. Mở đề án ................................................................................................................. 17 1.3.4. Dịch đề án ............................................................................................................... 17 1.3.5. Chạy đề án .............................................................................................................. 18 1.4. Tạo lập cơ sở dữ liệu: .................................................................................................... 18 Chƣơng 2. BẢNG DỮ LIỆU (TABLE) ................................................................................... 20 2.1. Một số khái niệm ........................................................................................................... 20 2.2. Tạo bảng cơ sở dữ liệu .................................................................................................. 22 2.3. Đổi tên một bảng trong cơ sở dữ liệu ............................................................................ 27 2.4. Xoá bảng khỏi cơ sở dữ liệu .......................................................................................... 27 2.5. Thêm bảng vào cơ sở dữ liệu......................................................................................... 27 2.6. Sửa cấu trúc bảng cơ sở dữ liệu ..................................................................................... 27 2.7. Làm việc với các bản ghi ............................................................................................... 27 2.7.1. Xem nội dung của bảng .......................................................................................... 27 2.7.2. Xem nội dung bảng kết hợp với chỉ mục ............................................................... 28 2.7.3. Xoá bản ghi ............................................................................................................. 29 2.7.4. Khôi phục các bản ghi bị đánh dấu xoá .................................................................. 30 2.7.5. Xoá các bản ghi đã bị đánh dấu xoá khỏi bảng dữ liệu .......................................... 30 2.7.6. Cập nhật dữ liệu vào bảng ...................................................................................... 31 2.8. Đặt mối quan hệ giữa các bảng ..................................................................................... 31 1
  2. Giáo trình Hệ quản trị cơ sở dữ liệu 2.8.1. Chuẩn bị ................................................................................................................. 32 2.8.2 Thiết lập mối quan hệ giữa các bảng ...................................................................... 32 2.8.3. Hiệu chỉnh mối quan hệ giữa các bảng ................................................................. 33 2.8.4. Xoá mối quan hệ giữa các bảng: ........................................................................... 33 Chƣơng 3. TÌM KIẾM THÔNG TIN (QUERY & VIEW) ..................................................... 38 3.1. Query (truy vấn) ............................................................................................................ 38 3.1.1. Khái niệm Query ........................................................................................................ 38 3.1.2. Tạo Query .................................................................................................................. 38 3.2. View (khung nhìn) ........................................................................................................ 49 3.2.1. Khái niệm View ..................................................................................................... 49 3.2.2. Tạo View ................................................................................................................ 50 Chƣơng 4. MẪU BIỂU (FORM) ............................................................................................. 55 4.1. Khái niệm Form ............................................................................................................ 55 4.2.Tạo Form bằng công cụ wizard...................................................................................... 55 4.2.1. Tạo Form dạng Form Wizard................................................................................. 56 4.2.2. Tạo Form dạng One - to - many Form wizard ....................................................... 60 4.3. Sửa form ........................................................................................................................ 64 4.4. Chạy forrm .................................................................................................................... 64 4.5. Tạo form bằng công cụ Form Designer ........................................................................ 65 Chƣơng 5. BÁO CÁO VÀ NHÃN (REPORT VÀ LABEL) ................................................... 69 5.1. Report ............................................................................................................................ 69 5.1.1. Khái niệm report .................................................................................................... 69 5.1.2. Tạo một Report Layout ......................................................................................... 69 5.1.3. Chỉnh sửa Report Layout ........................................................................................... 93 5.1.4. Xem và in Report ................................................................................................... 94 5.2. Label.............................................................................................................................. 95 5.2.1 Khái niệm Label ...................................................................................................... 95 5.2.2 Tạo Label Layout .................................................................................................... 95 5.2.3. Chỉnh sửa Label Layout ...................................................................................... 100 5.2.4. Xem và in Label ................................................................................................... 100 5.2.5 Ví dụ về thiết kế Label layout ............................................................................... 100 Chƣơng 6. BẢNG CHỌN (MENU) ....................................................................................... 102 6.1. Khái niệm Menu.......................................................................................................... 102 6.2. Tạo Menu .................................................................................................................... 103 6.3. Sửa Menu .................................................................................................................... 104 6.4. Dịch Menu................................................................................................................... 104 6.5. Chạy Menu .................................................................................................................. 104 6.6. Gắn các câu lệnh vào Menu. ...................................................................................... 105 6.7. Tạo thủ tục trong menu ............................................................................................... 105 2
  3. Giáo trình Hệ quản trị cơ sở dữ liệu 6.8. Một số tuỳ biến trong tạo Menu .................................................................................. 105 6.8.1. Tạo nhóm các mục trong Menu ............................................................................ 105 6.8.2. Tạo SDI menu ....................................................................................................... 105 6.8.3. Gắn menu vào Form ............................................................................................. 106 6.8.4. Tạo phím tắt (ShortCut)........................................................................................ 106 6.8.5. Làm mất hay có tác dụng một mục Menu ............................................................ 107 6.9. Ví dụ ............................................................................................................................ 107 Chƣơng 7. LẬP TRÌNH TRONG VISUAL FOXPRO .......................................................... 111 7.1. Giới thiệu về lập trình .................................................................................................. 111 7.1.1. Các kỹ thuật lập trình trong Visual FoxPro .......................................................... 111 7.1.2. Lƣu file chƣơng trình............................................................................................ 113 7.1.3. Sửa chƣơng trình .................................................................................................. 113 7.1.4. Thực hiện chƣơng trình ........................................................................................ 113 7.1.5. Ghi chú trong chƣơng trình .................................................................................. 113 7.2. Chƣơng trình con ......................................................................................................... 114 7.2.1 Hàm tự tạo ............................................................................................................. 114 7.2.2. Thủ tục .................................................................................................................. 115 7.2.3 Cách tổ chức chƣơng trình con .............................................................................. 116 7.3. Biến toàn cục, biến cục bộ ........................................................................................... 118 7.3.1. Biến toàn cục ........................................................................................................ 118 7.3.2. Biến cục bộ ........................................................................................................... 118 7.3.3. Che các biến nhớ .................................................................................................. 118 7.4. Truyền tham số ........................................................................................................... 120 7.4.1. Truyền theo giá trị (truyền theo tham trị): ............................................................ 120 7.4.2. Truyền theo địa chỉ (truyền theo tham biến): ....................................................... 120 7.5. Một số câu lệnh của Visual FoxPro ............................................................................. 123 7.5.1 Các câu lệnh thiết lập môi trƣờng làm việc ........................................................... 123 7.5.2 các câu lệnh vào, ra dữ liệu đơn giản .................................................................... 124 7.5.3 Các lệnh in dữ liệu ra màn hình ............................................................................. 125 7.5.4 Lệnh SAY…GET…READ ................................................................................... 126 7.6. Các cấu trúc điều khiển chƣơng trình .......................................................................... 127 7.6.1 Cấu trúc tuần tự (ngầm định) ................................................................................. 127 7.6.2 Cấu trúc rẽ nhánh ................................................................................................... 127 7.6.3. Cấu trúc lặp ........................................................................................................... 130 7.7. Một số câu lệnh thao tác với bảng dữ liệu ................................................................... 134 7.7.1. Mở và đóng bảng dữ liệu ...................................................................................... 134 7.7.2. Dịch chuyển con trỏ bản ghi – Lệnh GO và SKIP ............................................... 134 7.7.3. Lệnh LOCATE ..................................................................................................... 135 7.7.4. Lệnh BROWSE .................................................................................................... 135 3
  4. Giáo trình Hệ quản trị cơ sở dữ liệu 7.7.5. Bổ sung bản ghi – Lệnh APPEND ...................................................................... 136 7.7.6. Xóa bản ghi – Lệnh DELETE, RECALL, PACK, ZAP ...................................... 136 7.7.7. Các câu lệnh dặt lọc dữ liệu ................................................................................. 137 7.7.8. Lệnh REPLACE ................................................................................................... 138 7.7.9. Cấu trúc SCAN .................................................................................................... 138 7.8. Một số ví dụ về lập trình cơ sở dữ liệu ....................................................................... 139 7.8.1. Chƣơng trình nhập dữ liệu cho một bảng ............................................................ 139 7.8.2. Chƣơng trình tìm kiếm và xử lý bản ghi của một bảng ....................................... 140 7.8.3. Tìm kiếm trên nhiều bảng .................................................................................... 142 LẬP TRÌNH HƢỚNG ĐỐI TƢỢNG .................................................................................... 144 8.1 Một số khái niệm cơ bản .............................................................................................. 147 8.1.1. Đối tƣợng trong Visual FoxPro............................................................................ 147 8.1.2. Class và Object..................................................................................................... 148 8.1.3. Các Class cơ sở trong Visual FoxPro................................................................... 149 8.2. Lớp Form .................................................................................................................... 151 8.2.1. Một số thuộc tính thông dụng của lớp form và các control ................................. 151 8.2.2. Một số sự kiện thông dụng của form và các control ............................................ 159 8.2.3. Một số Method (phƣơng thức) thông dụng của form và các control ................... 163 8.2. Bổ sung các đối tƣợng vào Form ................................................................................ 165 8.3.1. Bổ sung một biểu tƣợng lớp vào thanh công cụ Form Controls .......................... 165 8.3.2. Bổ sung một Control vào Form............................................................................ 165 8.3.3. Một số Control thông dụng trên form .................................................................. 165 8.4. Một số ví dụ lập trình điều khiển trên Form ............................................................... 176 8.4.1. Lập trình giải bất phƣơng trình ax + b > 0 ........................................................... 176 8.4.2. Lập trình giải bất phƣơng trình bậc 2................................................................... 179 8.4.3. Lập trình điều khiển dữ liệu trên Form ................................................................ 182 Chƣơng 9. PHÂN PHỐI ỨNG DỤNG VÀ TẠO BỘ ĐĨA CÀI ĐẶT .................................. 195 9.1 Phân phối ứng dụng .................................................................................................... 195 9.2. Tạo bộ đĩa cài đặt cho ứng dụng bằng Setup Wizard ............................................... 198 BÀI TẬP THỰC HÀNH........................................................................................................ 205 Tµi liÖu tham kh¶o...................................................................................................... 261 4
  5. Chương 1 Tổng quan về Visual Foxpro Chƣơng 1. TỔNG QUAN VỀ VISUAL FOXPRO 1.1. Tổng quan về Visual FoxPro 1.1.1. Giới thiệu Visual Foxpro là một ngôn ngữ lập trình thế hệ thứ tƣ. Trong môi trƣờng ngôn ngữ thế hệ thứ tƣ có: - Hệ quản trị cơ sở dữ liệu - Từ điển dữ liệu - Một ngôn ngữ lập trình có câu trúc, hƣớng đối tƣợng. - Một ngôn ngữ hỏi đáp có cấu trúc (SQL). - Một bộ công cụ Case. - ... a) Cơ sở dữ liệu (cơ sở dữ liệu) là một tập hợp các dữ liệu có quan hệ với nhau, đƣợc tổ chức và lƣu trữ trong máy tính theo một qui định nhất định nhằm phục vụ cho một mục đích nào đó. b) Hệ quản trị cơ sở dữ liệu (DBMS) là một hệ thống chƣơng trình nhằm quản lý, khai thác và biến đổi các cơ sở dữ liệu. Visual Foxpro là một hệ quản trị cơ sở dữ liệu quan hệ của hãng Microsoft. Nó cho phép: - Tạo lập, cập nhật các cơ sở dữ liệu, các bảng dữ liệu - Sắp xếp, tìm kiếm thông tin - Hỏi đáp, tổng hợp, báo cáo thông tin c) Ngôn ngữ hỏi đáp có cấu trúc (SQL) là ngôn ngữ hỏi đáp có cấu trúc phi thủ tục giúp truy xuất nhanh thông tin. d) Một bộ các công cụ Case cho phép xây dựng các ứng dụng một cách nhanh chóng, thay vì phải lập trình rất phức tạp ta chỉ cần nêu ra các ý tƣởng cần thực hiện, chẳng hạn: - Công cụ tạo bảng cho phép tạo cấu trúc bảng cơ sở dữ liệu, tạo các qui tắc toàn vẹn dữ liệu cũng nhƣ các khoá và chỉ mục, ... - Công cụ tạo Query và View cho phép hỏi đáp, tổng hợp thông tin nhanh chóng. 5
  6. Chương 1 Tổng quan về Visual Foxpro - Công cụ Form cho phép tạo nhanh các màn hình cập nhập dữ liệu. - Công cụ Report, Label cho phép tạo nhanh các báo cáo và nhãn . - Công cụ Menu cho phép tạo các Menu nhiều cấp nhanh chóng, đơn giản e) Từ điển dữ liệu: là nơi dùng để lƣu các thông tin cần thiết về các cơ sở dữ liệu, cũng nhƣ mối quan hệ giữa các bảng cơ sở dữ liệu, … 1.1.2. Khởi động và thoát khỏi Visual Foxpro. 1) Khởi động Visual Foxpro Sau khi đã cài đặt Visual FoxPro, ta có thể khởi động nó bằng cách thực hiện file FoxProw.exe hoặc file vfp.exe đối với Visual Foxpro theo các cách sau: - Kích chuột vào biểu tƣợng của Visual Foxpro trên màn hình nền Desktop: Hình 1.1. Màn hình Visual Foxpro sau khi khởi động - Chọn menu Start/Program/Microsoft Visual Studio…/ Microsoft Visual Foxpro và kích chuột vào đó. 2) Thoát khỏi Visual FoxPro Để thoát khỏi Visual FoxPro có thể sử dụng một trong các cách sau: - Tại cửa sổ lệnh nhập vào lệnh QUIT - Chọn File/Exit 6
  7. Chương 1 Tổng quan về Visual Foxpro - Kích trái chuột vào nút Close 1.1.3. Các chế độ làm việc Visual FoxPro có 2 chế độ làm việc: chế độ tƣơng tác (interactive) và chế độ chƣơng trình (program). 1) Chế độ tương tác (đối thoại): Là chế độ ngƣời sử dụng đƣa vào từng câu lệnh, Visual Foxpro thực hiện ngay câu lệnh đó và trả lại kết quả trên màn hình kết quả. Trong chế độ này có 2 hình thức đƣa vào câu lệnh: - Đƣa câu lệnh qua menu hệ thống (system menu). - Đƣa câu lệnh từ cửa sổ lệnh (command window). 2) Chế độ chương trình: Trong chế độ này, các câu lệnh đƣợc biên soạn trong một file văn bản chƣơng trình và lƣu trên đĩa (gọi là file chƣơng trình nguồn). Khi muốn thực hiện các câu lệnh trong chƣơng trình này, chỉ việc ra lệnh thực hiện chƣơng trình cho Visual Foxpro; Visual Foxpro lần lƣợt thực hiện các câu lệnh trong văn bản chƣơng trình. 1.2. Các khái niệm cơ bản 1.2.1. Kiểu dữ liệu Để xử lý và khai thác tốt các dữ liệu, Visual Foxpro chia dữ liệu thành nhiều kiểu khác nhau. Trong đó có một số kiểu cơ bản là: kiểu số (Numeric), kiểu xâu kí tự (Character), kiểu ngày tháng (Date), kiểu logic (Logical), kiểu bộ nhớ (Memo), kiểu tổng quát (General). 1) Kiểu số - Numeric (N): Dùng để biểu diễn dữ liệu dạng số. Mỗi dữ liệu kiểu số chiếm tối đa 20 chữ số gồm cả phần nguyên, phần thập phân và dấu chấm thập phân. 2) Kiểu số - Float (F): Dùng để biểu diễn số thực có dấu chấm động. Ví dụ nhƣ số 2.03E+5 (2.03105) và nó thƣờng đƣợc sử dụng trong các chƣơng trình thuộc lĩnh vực khoa học kỹ thuật. 3) Kiểu xâu ký tự - Charater (C): Chứa các dữ liệu là một dãy các ký tự bất kỳ trong bảng mã ASCII. Ví dụ nhƣ họ tên, quê quán, địa chỉ,… hoặc là số nhƣng không có nhu cầu tính toán nhƣ số chứng minh thƣ nhân dân, số điện thoại, số phòng, ... Mỗi 7
  8. Chương 1 Tổng quan về Visual Foxpro dữ liệu kiểu xâu ký tự có độ dài tối đa 255 ký tự (mỗi ký tự chiếm 1 byte trong bộ nhớ). 4) Kiểu ngày tháng - Date (D): Dùng cho những dữ liệu dạng ngày tháng nhƣ ngày sinh, ngày đến, ngày vào đoàn, .... Đó là những số nguyên dạng "yyyymmdd" khi hiển thị ra bên ngoài sẽ đƣợc chuyển thành dạng ngày tháng bình thƣờng nhƣ dd/mm/yy, mm/dd/yy, dd/mm/yyyy, ... tuỳ theo yêu cầu của ngƣời sử dụng. Độ dài cố định của dữ liệu kiểu ngày là 8 ký tự. 5) Kiểu logic - Logical (L): Dùng cho những dữ liệu chỉ có một trong hai trƣờng hợp hoặc đúng (.T.) hoặc sai (.F.), có hoặc không nhƣ giới tính, đảng viên, mua hay bán, ... Độ dài cố định của dữ liệu kiểu logic là 1 ký tự. 6) Kiểu bộ nhớ - Memo (M): Dữ liệu kiểu memo dùng lƣu trữ một đoạn văn bản có độ dài lớn hơn 255 ký tự. Chẳng hạn nhƣ các khóa đào tạo đã qua, lý lịch, quá trình công tác, ... Độ dài khai báo là 10 nhƣng nội dung thực sự của kiểu bộ nhớ là tuỳ ý, chúng đƣợc lƣu trữ trong một tập tin văn bản khác có cùng tên nhƣng phần mở rộng là .FPT (FoxPro Text). 7) Kiểu tổng quát - General (G): Dùng để chứa dữ liệu nhƣ hình ảnh... Dùng để lƣu trữ dữ liệu dƣới dạng hình ảnh .BMP, .GIF, PSD, …. ví dụ nhƣ ảnh cán bộ trong các chƣơng trình "quản lý nhân sự", ảnh phạm nhân trong "quản lý nhận dạng", biểu đồ, ... 1.2.2. Các phép toán 1) Phép toán số học: Đƣợc thực hiện trên các dữ liệu kiểu số, gồm các phép toán: Phép toán Ý nghĩa Ví dụ -, + dấu âm và dƣơng +5, -7 ** hay ^ luỹ thừa 5**2,5^2 *, / nhân, chia 2*5, 5/7 % phần dƣ (modulo) 25%5 +, - cộng, trừ 10- 2, 45+ 4 Độ ƣu tiên các phép toán theo thứ tự đã nêu ở trên, có thể thay đổi thứ tự tính toán bằng cách đặt chúng trong 2 dấu ngoặc đơn (,) nhƣ các quy tắc tính toán số học 8
  9. Chương 1 Tổng quan về Visual Foxpro thông thƣờng. 2) Phép toán xâu kí tự: Dùng để xử lý các dữ liệu kiểu xâu kí tự. - Phép toán ghép nối (+): Dùng để ghép 2 xâu kí tự thành một xâu kí tự Ví dụ: 'Trung tâm' + ' Tin học'  'Trung tâm Tin học' - Phép toán ghép nối (-): Dùng để ghép 2 xâu ký tự thành một xâu và di chuyển các dấu cách ở cuối xâu thứ nhất (nếu có) ra cuối xâu tạo thành. Ví dụ: 'Trung tâm ' - ' Tin học'  'Trung tâm Tin học ' - Phép toán $: Kiểm tra xâu bên trái có nằm trong xâu bên phải không. Kết quả của phép toán có kiểu logic. Ví dụ: 'ab' $ „Abab‟ cho giá trị .T. nhƣng 'ab‟ $ „AaBb‟ cho giá trị .F. 3) Phép toán ngày: Hai dữ liệu kiểu ngày có thể trừ (-) cho nhau để cho khoảng cách giữa 2 ngày. Ví dụ: {01/08/2003} - {05/09/2003} = - 35 {01/08/2003} - {05/07/2003} = 25 Một dữ liệu kiểu ngày có thể cộng (+) hay trừ với (-) một số nguyên để cho kết quả là một dữ liệu kiểu ngày. Ví dụ: {01/08/2003} + 10  {11/08/2003} {01/08/2003} - 20  {12/07/2003} Chú ý: - Hai dữ liệu kiểu ngày không thể cộng (+) với nhau. - Một số không thể trừ (-) đi một dữ liệu kiểu ngày. - Việc diễn tả thứ tự ngày (D), tháng (M), năm (Y) trong một dữ liệu kiểu ngày còn phụ thuộc vào thời điểm hiện tại đang theo hệ thống ngày tháng nào. + Lệnh SET DATE FRENCH | AMERICAN : Cho phép thiết lập dữ liệu dạng ngày theo kiểu Pháp (dd/mm/yy) hoặc Mỹ (mm/dd/yy). 9
  10. Chương 1 Tổng quan về Visual Foxpro + SET CENTURY ON | OFF: Quy ƣớc năm đƣợc biểu diễn theo dạng bốn số yyyy hay dạng hai số yy (mặc định). Nếu SET CENTURY ON thì năm đƣợc biểu diễn theo dạng bốn con số, nếu SET CENTURY OFF (dạng mặc định) thì năm đƣợc biểu diễn theo dạng hai con số và ngầm định là 19yy. 4) Phép toán quan hệ: Dùng để so sánh hai giá trị của hai biểu thức cùng kiểu Phép toán Ý nghĩa Phép toán Ý nghĩa < nhỏ hơn , ! khác > lớn hơn lớn hơn hay bằng == bằng chính xác - Hai dữ liệu kiểu số đƣợc so sánh dựa theo biểu diễn của chúng trên trục số. - Hai dữ liệu kiểu ngày đƣợc so sánh dựa theo biểu diễn của chúng theo chiều của thời gian. - Trong kiểu logic, Visual FoxPro quy ƣớc: .F. 'AB' cho kết quả .F. Nếu SET EXACT OFF thì 'ABCD' = 'AB' cho kết quả .T. nhƣng 'AB' 'ABCD' 5) Phép toán logic: Visual FoxPro có 3 phép toán logic: NOT, AND, OR NOT hay ! : Phủ định của toán hạng theo sau. AND: Cho giá trị .T. nếu cả hai toán hạng đều .T. 10
  11. Chương 1 Tổng quan về Visual Foxpro OR: Cho giá trị .F. nếu cả hai toán hạng đều .F. Chú ý: Trong một biểu thức Visual Foxpro, các phép toán số học đƣợc ƣu tiên trƣớc. Sau đó đến phép toán xâu kí tự. Rồi đến các phép quan hệ. Và cuối cùng là các phép toán logic. 1.2.3. Hằng Hằng là đại lƣợng có giá trị không đổi trong thời gian chƣơng trình thực hiện. Trừ kiểu dữ liệu memo thì mỗi kiểu dữ liệu đều có hằng của nó. - Hằng số: Nhƣ -2.5; 100; 4.14; - Hằng xâu là một dãy kí tự đƣợc đặt trong cặp dấu ", " hoặc ', ' có độ dài không quá 255 kí tự. Trong hằng xâu có phân biệt chữ hoa, chữ thƣờng. Ví dụ: "abc"; 'tổng hợp', '123'. - Hằng kiểu ngày: Phải đƣợc đặt trong cặp dấu {...} Ví dụ: {01/01/96}; {}: ngày rỗng. Hằng logic: chỉ có 2 giá trị .T. và .F. 1.2.4. Biến Biến là đại lƣợng dùng để lƣu trữ dữ liệu trong quá trình tính toán. Biến có hai đặc trƣng chính: tên biến và giá trị của biến. Tên biến đƣợc đặt theo nguyên tắc: dài không quá 10 kí tự, bắt đầu phải là chữ cái hoặc dấu _ phần còn lại là tổ hợp của bất kỳ các chữ cái, chữ số hoặc dấu _. Tên biến không đƣợc đặt trùng với các từ khoá của Visual FoxPro, tên biến không phân việt chữ in hoa hay chữ thƣờng. Visual FoxPro hiểu kiểu của biến là kiểu của giá trị mà nó đang mang. Số lƣợng tối đa của biến đƣợc phép sử dụng là 2048 biến. Visual FoxPro chia biến làm 3 loại: 1) Biến bộ nhớ: Gọi chung là biến, do ngƣời sử dụng tạo ra trong bộ nhớ, khi không sử dụng nữa có thể giải phóng để tiết kiệm bộ nhớ. Ví dụ: Hsl = 3.12 Ngaysinh = {01/01/88} 11
  12. Chương 1 Tổng quan về Visual Foxpro 2) Biến hệ thống: Đƣợc tạo ra ngay từ khi khởi động Visual FoxPro; Có tên bắt đầu bằng dấu gạch nối ( _ ) và thƣờng đƣợc sử dụng trong vấn đề in ấn. Ngƣời sử dụng không thể giải phóng đƣợc biến loại này. 3) Biến trường: Là tên các trƣờng trong bảng cơ sở dữ liệu, nó chỉ có ý nghĩa khi tập tin chứa nó đƣợc mở ra để sử dụng. Mỗi biến trƣờng phải thuộc một kiểu dữ liệu nào đó. Nếu có một biến nhớ đặt trùng với một biến trƣờng thì biến trƣờng đƣợc ƣu tiên thực hiện trƣớc. Nếu tồn tại hai biến trƣờng hoặc biến trƣờng và biến nhớ trùng tên nhau, để truy nhập đến chúng mà không sợ nhầm lẫn, phải sử dụng quy cách sau: . 1.2.5. Hàm Hàm là những chƣơng trình đƣợc viết ra nhằm trả lại cho tên hàm một giá trị thuộc một kiểu dữ liệu nào đó. Về hình thức hàm đƣợc đặc trƣng bởi tên hàm và theo sau là cặp dấu ( ) dùng để bao các đối số, các đối số này đặt cách nhau bởi dấu phảy (nếu hàm có nhiều đối số). Nếu một hàm không có đối số nào cả vẫn phải có ( ) theo sau tên hàm. Ví dụ: Date ( ) - cho biết ngày tháng năm hệ thống. Sqrt(x) - tính căn bậc 2 của x. Có 2 loại hàm: Hàm có sẵn của Visual FoxPro (hàm chuẩn) và hàm tự tạo do ngƣời sử dụng tạo ra. Hàm thƣờng đƣợc dùng trong các biểu thức. Một số hàm chuẩn trong Visual FoxPro: 1) Nhóm hàm số học: ABS(x) Trả lại giá trị tuyệt đối của số x SQRT(x) Trả lại căn bậc hai của x EXP(x) Trả lại e mũ x LOG(x) Trả lại loga cơ số e của x 12
  13. Chương 1 Tổng quan về Visual Foxpro INT(x) Trả lại phần nguyên của x ROUND(x, n) Làm tròn x với n chữ số lẻ 2) Nhóm hàm về xâu LEN(s) Trả về độ dài của xâu s LEFT(s, n) Trích n ký tự bên trái của xâu s RIGHT(s, n) Trích n ký tự bên phải của xâu s SUBSTR(s, i, n) Trích n ký tự của xâu s từ vị trí thứ i REPLICATE(s, n) Tạo ra một xâu gồm n lần xâu s SPACE(n) Tạo một xâu gồm n kí tự trắng ALLTRIM(s) Cắt bỏ các kí tự trắng bên trái, bên phải xâu s LTRIM(s) Cắt bỏ các kí tự trắng bên trái xâu s RTRIM(s) Cắt bỏ các kí tự trắng bên phải xâu s LOWER(s) Đổi xâu s thành toàn kí tự thƣờng UPPER(s) Đổi xâu s thành toàn kí tự hoa PROPER(s) Đổi các chữ cái đầu mỗi từ của xâu s thành kí tự hoa VAL(s) Đổi xâu s thành một số STR(x, n, m) Đổi số x thành một xâu gồm n kí tự với m chữ số sau dấu chấm thập phân ASC(s) Trả về mã ASCII của kí tự đầu tiên trong xâu s CHR(n) Trả về kí tự có mã ASCII là n AT(t, s) Trả về vị trí đầu tiên xâu con t xuất hiện trong xâu s, nếu không tìm thấy t trong s hàm trả lại giá trị 0 3) Nhóm hàm về ngày: CTOD(s) Trả lại giá trị ngày cho xâu s biểu diễn DTOC(d) Trả lại giá trị xâu biểu diễn ngày d 13
  14. Chương 1 Tổng quan về Visual Foxpro DTOS(d) Đổi ngày thành xâu dạng „YYYYMM DD‟ YEAR(d) Trả lại giá trị số của năm trong ngày d (đủ 4 số) MONTH(d) Trả lại giá trị số của tháng trong ngày d (từ 1..12) DAY(d) Trả lại giá trị số của ngày trong ngày d (từ 1..31) DOW(d) Trả lại thứ ngày trong tuần của ngày d (1 là chủ nhật, 2 là thứ 2,…., 7 là thứ bảy) DATE() Trả lại giá trị ngày của ngày hiện tại theo đồng hồ hệ thống 1.2.6. Biểu thức Biểu thức là tập hợp của một hay nhiều thành phần nhƣ hằng, hàm, biến, phép toán, cặp dấu ngoặc tròn. Sau khi tính toán biểu thức sẽ cho một giá trị duy nhất thuộc một kiểu dữ liệu nào đó. Kiểu giá trị của biểu thức gọi là kiểu của biểu thức. 1.2.7. Từ khoá Từ khoá là những từ đƣợc Visual FoxPro định nghĩa sẵn và mang ý nghĩa xác định. Từ khoá thƣờng đƣợc dùng trong các câu lệnh để chỉ ra cho máy phải làm gì và làm nhƣ thế nào. Ngƣời sử dụng không đƣợc đặt tên trùng với các từ khoá. Nếu từ khoá có nhiều hơn 4 ký tự thì khi sử dụng chỉ cần ghi 4 ký tự đầu. Trong từ khoá không phân biệt chữ hoa chữ thƣờng. Ví dụ: Câu lệnh MODIFY COMMAND LUONG.PRG có 2 từ khoá là MODIFY và COMMAND có thể viết gọn là: MODI COMM LUONG.PRG 1.2.8. Lệnh và chƣơng trình Lệnh là những chỉ thị yêu cầu máy thực hiện một hành động nào đó. Lệnh trong Visual FoxPro thƣờng là một động từ, cũng có trƣờng hợp là một kí hiệu nhƣ: !, ?, ... và không phân biệt chữ hoa, chữ thƣờng. Tập hợp các lệnh đƣợc viết theo một trình tự nhất định nhằm thực hiện một nhiệm vụ đề ra gọi là chƣơng trình. Các lệnh của chƣơng trình đƣợc đặt trong một tệp chƣơng trình có đuôi là PRG. Trong Visual FoxPro có 3 cách để ban hành lệnh: 14
  15. Chương 1 Tổng quan về Visual Foxpro 1) Dùng cửa sổ lệnh: Lệnh đƣợc đƣa vào cửa sổ lệnh, sau khi ấn Enter lệnh đƣợc thi hành ngay và trả lại kết quả câu lệnh trên màn hình. Thi hành xong một lệnh thì lệnh cũ đƣợc lƣu lại trên cửa sổ lệnh có thể sử dụng cho lần sau. 2) Dùng menu: Lệnh đƣợc ban hành bằng cách kích hoạt menu tƣơng ứng, sau khi thi hành xong câu lệnh cũng đƣợc lƣu lại trên cửa sổ lệnh. Cách này chỉ hạn chế trong một số lệnh thông dụng. 3) Dùng chương trình: Soạn thảo trƣớc một văn bản chƣơng trình gồm nhiều lệnh thích hợp. Sau đó thực hiện chƣơng trình này bằng cách ban hành câu lệnh thực hiện chƣơng trình. Ví dụ tại cửa sổ lệnh nhập vào câu lệnh DO . Sau khi ấn Enter chƣơng trình đƣợc nạp vào bộ nhớ và từng lệnh đƣợc thực hiện theo đúng thứ tự nhƣ chƣơng trình đã đề ra. 1.3. Quản lý đề án ( Project Manager) 1.3.1. Giới thiệu Project Manager Đề án (Project) là tên gọi để chỉ đến ứng dụng mà ta đang xây dựng. Mỗi dự án đƣợc lƣu dƣới dạng một file có phần mở rộng là PJX. Thông thƣờng các thành phần của một đề án bao gồm: - Các file cơ sở dữ liệu (Database) - Các bảng dữ liệu (Table). - Các Form - Các Report, Label - Các Query, View - Các đoạn mã (Code) - Các file khác nhƣ Menu, âm thanh, hình ảnh,... Project Manager là công cụ tổ chức cơ bản, trung tâm điều khiển để làm việc 15
  16. Chương 1 Tổng quan về Visual Foxpro với dữ liệu và các đối tƣợng của Visual Foxpro trong quá trình phát triển một ứng dụng (Project). Ngay sau khi khởi động Visual Foxpro và mở đề án ta đi vào cửa sổ Project Manager: Hình 1.2. Cửa số Project manager-Trang All - Trang Data: Bao gồm: + DataBases: Chứa các cơ sở dữ liệu. + Tables: Các bảng dữ liệu có liên kết với nhau. + Free Tables: Chứa các bảng tự do. + Queries: Là cấu trúc để lấy thông tin từ các bảng. + Local Views: Là các Query chuyên dụng dùng truy xuất và cập nhật các nguồn dữ liệu cục bộ. + Remote Views: Là các Query chuyên dụng truy xuất và cập nhật các nguồn dữ liệu từ xa. 16
  17. Chương 1 Tổng quan về Visual Foxpro - Trang Documents: Chứa các tài liệu sử dụng cho đề án; bao gồm các Form và Report, Label. - Trang Class: Liệt kê các thƣ viện lớp đƣợc sử dụng. - Trang Code: Chứa các đoạn mã lệnh. - Trang Other: Chứa các file khác nhƣ file Menu, văn bản. - Trang All: Bao gồm tất cả các trang trên. 1.3.2. Tạo một đề án - Để tạo một đề án mới, sử dụng một trong các cách sau: + Cách 1: Nhập vào cửa sổ lệnh CREATE PROJECT + Cách 2: Chọn File/New/Project/New File. Trong hộp thoại Create, nhập tên cho Project sẽ tạo rồi chọn nút Save. - Để chỉnh sửa bất kỳ một thành phần nào trong đề án, ta chọn tên đề án rồi chọn nút Modify. - Để thêm bất kỳ một file nào cho đề án, ta mở đề án rồi kích nút Add (nếu chọn file đã có) hoặc nút New (nếu tạo mới). - Để loại bỏ bất kỳ một thành phần nào của đề án đang mở, ta chọn thành phần đó rồi chọn nút Remove. 1.3.3. Mở đề án Để mở một đề án đã có, ta có thể sử dụng một trong các cách sau: - Cách 1: Nhập vào cửa sổ lệnh: MODIFY PROJECT - Cách 2: Chọn File/Open. Trong hộp thoại Open, chọn file đề án, rồi chọn nút Open. 1.3.4. Dịch đề án - Dịch sang APP: + Dịch đề án sang file có phần mở rộng là APP. Dùng lệnh BUILD + Để chạy đề án này phải có một bản sao của Visual Foxpro. - Dịch sang file có phần mở rộng là EXE: Khi này, ngƣời dùng không cần có Visual Foxpro nhƣng phải cung cấp hai file: vfp6r.dll và vfp6renu.dll đƣợc cài đặt trong đƣờng dẫn hoặc trong cùng thƣ mục với ứng dụng. Dùng lệnh: BUILD EXE 17
  18. Chương 1 Tổng quan về Visual Foxpro 1.3.5. Chạy đề án Sau khi đã dịch, ta có thể chạy đề án thông qua lệnh: DO . 1.4. Tạo lập cơ sở dữ liệu: Một đề án có thể liên quan đến một hoặc nhiều cơ sở dữ liệu. Trong Visual Foxpro các cơ sở dữ liệu là các File có phần mở rộng là DBC, chứa trong nó là các bảng cơ sở dữ liệu có phần mở rộng là DBF, các mối liên kết giữa các bảng, các View cục bộ, … - Để tạo một cơ sở dữ liệu mới cho một đề án ta thực hiện các thao tác sau: + Mở đề án. Hình 1.3. Cửa số Project manager-Trang Data + Trong Project Manager, chọn trang All (hoặc Data), chọn mục Databases, rồi chọn nút New, xuất hiện hộp thoại New Database: Hình 1.4. Hộp thoại New Database + Chọn New Database, xuất hiện hộp thoại Create: 18
  19. Chương 1 Tổng quan về Visual Foxpro Hình 1.5. Hộp thoại Create + Tại hộp thoại Create, nhập vào tên cơ sở dữ liệu mới vào mục Enter DataBase. + Chọn Save. Xuất hiện hộp thoại Database Designer cho phép ta thiết kế cơ sở dữ liệu. Nếu không thì kích nút Close. Hình 1.6. Hộp thoại Database Designer - Để mở một cơ sở dữ liệu trong một đề án, ta thực hiện: + Mở đề án + Trong trang All (hoặc Data) chọn mục Database: o Chọn tên cơ sở dữ liệu. Sau đó chọn nút Modify . o Hoặc kích dấu cộng bên cạnh tên cơ sở dữ liệu. 19
  20. Chương 2. Thao tác với bảng dữ liệu Chƣơng 2 BẢNG DỮ LIỆU (TABLE) 2.1. Một số khái niệm Bảng dữ liệu chứa dữ liệu theo dạng dòng và cột, mỗi dòng đƣợc gọi là một bản ghi (record), mỗi cột đƣợc gọi là một trƣờng (field). Mỗi bảng đƣợc đặt bởi một tên có phần mở rộng là DBF, mỗi trƣờng cũng đƣợc đặt bởi một tên theo nguyên tắc đặt tên biến. Trong bảng cơ sở dữ liệu không cho phép có hai dòng trùng nhau. Trong Visual FoxPro có hai loại bảng: - Database Table (bảng cơ sở dữ liệu): Là bảng dữ liệu nằm trong một cơ sở dữ liệu. - Free Table (bảng tự do): Là bảng dữ liệu không nằm trong bất kỳ một cơ sở dữ liệu nào. Mỗi bảng dữ liệu đƣợc lƣu trữ trên đĩa với tên file có phần mở rộng mặc định là DBF, mỗi bảng dữ liệu có hai phần: cấu trúc (Lƣợc đồ) và nội dung của bảng (Các thể hiện). Thiết kế cơ sở dữ liệu bao gồm tạo các bảng cơ sở dữ liệu trong đó cần phải xác định: - Tên các trƣờng cần thiết trong bảng và kiểu dữ liệu của nó. - Các mối quan hệ cần thiết giữa các bảng với nhau. Ngoài ra, ta còn phải làm một số công việc chi tiết nhƣ: Tạo tiêu đề diễn giải, xác định giá trị ngầm định, xác định các qui tắc về an toàn dữ liệu cho các trƣờng, bảng cũng nhƣ chọn khoá, tạo chỉ mục cho các bảng. Field – Level Rule: Là đoạn chƣơng trình đặt ở mức trƣờng dùng để kiểm tra tính đúng đắn của dữ liệu khi dữ liệu đƣợc nhập vào trƣờng đó. Chúng đƣợc thực hiện một cách tự động ngay sau khi nhập xong dữ liệu cho trƣờng đó. Record -Level Rule: Là đoạn chƣơng trình đặt ở mức bản ghi dùng để kiểm tra tính đúng đắn của dữ liệu khi dữ liệu đƣợc nhập vào bản ghi đó. Chúng đƣợc thực hiện 20
nguon tai.lieu . vn