2-CSDL trong VF6.0 DataBase Connectivity Là hệ thống thông tin được lưu trữ trong các bảng dữ liệu có mối quan hệ nhằm mục đích nào đó và các thành phần liên quan như :chỉ mục, hàm của
Trang 1BµI gi¶ng visual foxpro6.0
Gi¶ng viªn : Hå ViÕt ThÞnhKhoa Tin häc qu¶n lý
Trang 2giải quyết các bài toán quản lý, bài toán kinh tế
có tính chuyên nghiệp như : Quản lý Nhân sự, Tiền lương,
lương, ĐĐiểm, Vật tư, Bán hàng, thư việniểm, Vật tư, Bán hàng, thư viện……nằm
trong bộ Visual Studio 6.0 của Microsft trên môi
trường windows
GV Hồ Viết Thịnh
Trang 32 Đ Điều kiện sử dụng VF6.0 iều kiện sử dụng VF6.0
PC 16 MB RAM, CPU 100 Mhz, HD 1GB.PC 16 MB RAM, CPU 100 Mhz, HD 1GB
Hệ điều hành Windows 9X, NT, 2000, Me, XPHệ điều hành Windows 9X, NT, 2000, Me, XP
Cài đặt bộ Visual Studio 6.0.Cài đặt bộ Visual Studio 6.0
3
3 các chế độ trong VF6.0 các chế độ trong VF6.0
Chế độ hội thoại (Interactive Mod)Chế độ hội thoại (Interactive Mod)
Chế độ chương trChế độ chương trìình (Program Mod)nh (Program Mod)
Trang 4II-Một số khái niệm trong vf6.0
1-Project(dự án) là gì ?
Là một tập hợp gồm nhiều thành phần : CSDL,
Chương trình, Giao diện (Form), Thực đơn, Báo
biểu,… đặt trong tệp tin có phần mở rộng là PJX
2-CSDL trong VF6.0 (DataBase Connectivity )
Là hệ thống thông tin được lưu trữ trong các bảng dữ
liệu có mối quan hệ nhằm mục đích nào đó và các thành phần liên quan như :chỉ mục, hàm của sổ được
đặt trong tệp tin có phần mở rộng là DBC
Trang 54 Truy vấn(Query) Truy vấn(Query)
Là tệp tin có phần mở rộng là QPR dùng để xử lí các thông tin trong các tệp tin DBF
5
5 Biểu mẫu (Form) Biểu mẫu (Form)
Là tệp tin có phần mở rộng là SCX được thiết kế đảm nhiệm chức n
nhiệm chức nă ăng giao tiếp gi ng giao tiếp giữ ữa chương tr a chương trìình và nh và
người sử dụng.
Trang 66-Báo cáo(Report)
Là tệp tin có phần mở rộng là FRX dùng để tổ chức dữliệu cho việc in ấn
Trang 8IV Mét sè tÝnh nMét sè tÝnh n¨¨ng kh¸c cña VF6.0ng kh¸c cña VF6.0
1-TriÓn khai c¸c øng dông theo m« h×nh kh¸ch/chñ ( Client / Server)
2-KÕt nèi víi c¸c CSDL më(ODBC)
C¸c b¶ng tÝnh trong Excel
C¸c tÖp tin Access
C¸c CSDL kh¸c
Trang 9II Thành phần của cửa sổ Project ManagerThành phần của cửa sổ Project Manager::
GV Hồ Viết Thịnh
Chương II
xây dựng một project
Trang 101.3- Classes (Lớp) Danh sách các lớp được sử dụng trong Project,
1.4- Code ( Mã chương trình- Thủ tục)
1.5-Other (các thực đơn & tệp tin văn bản)
2-Các nút chức năng trong cửa sổ Project Manager
GV Hồ Viết Thịnh
Tên nút Chức nChức năăngng
Add Thêm các thành phần vào Project
New Tạo một thành phần mới trong Project
Modify Sửa cấu trúc của một thành phần trong Project
Browse Xem và sửa d Xem và sửa dữ ữ liệu của các bảng hay truy vấn liệu của các bảng hay truy vấn
Remove Loại bỏ một thành phần trong Project
Trang 11Cách 1 : Sử dụng Menu : Sử dụng Menu
Bước 1: Mở File / NewBước 1: Mở File / New
Bước 2 : Chọn Project, chọn New file Bước 2 : Chọn Project, chọn New file
Bước 3 : Xác định thư mục và tên tệp , chọn SaveBước 3 : Xác định thư mục và tên tệp , chọn SaveCách 2
Cách 2 : Sử dụng cửa sổ lệnh: Sử dụng cửa sổ lệnh
CREATE PROJECT <Tên tệp.PJX> << //
2
2 Mở tệp Project Mở tệp Project
Cách 1
Cách 1: Sử dụng Menu : Sử dụng Menu
> Mở File / Open> Mở File / Open > Chọn thư mục và tệp Project > Chọn thư mục và tệp Project > OK> OK
Cách 2
Cách 2 : dùng lệnh : dùng lệnh
MODIFY PROJECT < Tên tệp.PJX > << //
Trang 12iii-làm việc với các bảng dữ liệu độc lập
( pree table )1-Bảng (Table) : Là nơi chứa dữ liệu về một đối tượng thông tin nào đó còn gọi là tệp dữ liệu có phần mở rộng là DBF (DataBase File)
2 -Cấu trúc bảng DL (Table) -Tệp tin DBF
a- Fields (Các trường) là thực thể gồm:
- Tên trường (FieldName): Là một chuỗi tuỳ ý không
chứa dấu cách (kí tự trắng) bắt đầu bằng chữ cái, tối
đa 128 kí tự
- Kiểu trường (Data Type) kiểu dữ liệu ghi trong trường mỗi trường trong bảng phải thuộc một trong các kiểu dữ liệu sau:
GV Hồ Viết Thịnh
Trang 13Tên kiểu ý nghĩa
Character Kiểu kí tự (mô tả vKiểu kí tự (mô tả văăn bản trên một dòng )n bản trên một dòng )
Numeric Kiểu số
Logical Kiểu logic (True/False)
Memo Kí ức (mô tả vKí ức (mô tả văăn bản trên nhiều dòng)n bản trên nhiều dòng)
Float Dấu chấm động thường dùng để biểu diễn
nhnhữững giá trị rất lớn hợac rất nhỏ.ng giá trị rất lớn hợac rất nhỏ
Integer Kiểu số nguyên
Double Kiểu số thực
Currency Kiểu tiền tệ
General Kiểu hKiểu hìình ảnh (OLE)nh ảnh (OLE)
Trang 14Là dòng dữ ữ liệu tạo bởi các trường, mỗi bảng cứa tối đa liệu tạo bởi các trường, mỗi bảng cứa tối đa
1 tỉ bản ghi, mỗi bản ghi đều có một số thứ tự gọi là số
thứ tự của bản ghi
Trang 152 Cách tạo các tệp tin DBF Cách tạo các tệp tin DBF
Cách 1: Thực hiện từ cửa sổ Project Manager
Bước 1: Tạo cấu trúc bảng
-> Mở hoặc tạo mới 1 Project
-> Chọn Data tab, chọn Free Table, chọn New
-> Định nghĩa cấu trúc bảng trong cửa sổ Table Designer+ Gõ tên trường tại Name
+ Chọn kiểu trường tại TYPE
+ Xác định độ dài trường tại Width
+ Chọn cách sắp xếp DL(Ascending, Descending) tại Index
-> OK
Bước 2 :Kích nút Yes, Nhập dữ liệu vào bảng
Thao tác tương tự với các bảng khác
GV Hồ Viết Thịnh
Trang 17Chương iII
Chương iII các phép toán, hằng,
biến, biểu thức và hàm
II hằng và biến hằng và biến
1 Hằng( Const) Hằng( Const) llà một đại lượng thay không đổi
- Hằng nguyên: gồm các số nguyên
- Hằng thực: Các số có phần thập phân (dùng dấu chấm)
- Hằng văn bản: là chuỗi đặt trong dấu ‘… ‘, “…” hoặc[…]
- Hằng Logic: là giá trị T.(true) hoặc F.(Fasle)
- Hằng ngày tháng : là giá trị kiểu ngày tháng đặt trong dấu
{…} theo nguyên tắc ^yyyy/mm/dd
Ví dụ : {^2001/09/26}
GV Hồ Viết Thịnh
Trang 18VÝ dô : x=20, y=-10, z=x+y, …
GV Hå ViÕt ThÞnh
Trang 214 C¸c phÐp víi chuçi kÝ tù C¸c phÐp víi chuçi kÝ tù
- PhÐp nèi chuçi b»ng dÊu +
+C/n¨ng : nèi 2 chuçi
+VÝ dô : “AB “+” BC” -> “AB BC”
- PhÐp nèi chuçi b»ng dÊu –
+Chøc n¨ng: KÕt nèi 2 chuçi, nh÷ng kho¶ng
tr¾ng ë cuèi chuçi thø 1 ®îc ®a vÒ cuèi chuçi kÕt qña
+VÝ dô : “AB “ + ” CD” -> “AB CD “
Trang 22Iii biểu thức và hàm trong vf6.0biểu thức và hàm trong vf6.0
1
1 Biểu thức (Expression) Biểu thức (Expression)
-Biểu thức chuỗi (ExpC) : Cho kết quả là chuỗi
-Biểu thức số (ExpN) : Cho kết quả là số
-Biểu thức ngày tháng (ExpD) : kết quả là ngày
- Hàm LEFT(x,n) trong đó x là chuỗi , n là số kí tự
+C.năng : Lấy n kí tự bên trái chuỗi x
+Ví dụ : Left(“Informatic”,2)-> kết quả là In
- Hàm RIGHT(x,n) trong đó x là chuỗi , n là số kí tự
+C.năng : Lấy n kí tự bên phải chuỗi x
+Ví dụ : Right(“Informatic”,2)-> kết quả là Ic
GV Hồ Viết Thịnh
Trang 23- Hàm SUBSTR(x, m, n) trong đó x là chuỗi, m là vị trí , n là số
kí tự
+C.năng : Lấy n kí tự bắt đầu từ vị trí m của chuỗi x+Ví dụ : SUBSTR(“Informatic”,3, 3)-> kết quả là for
- Hàm UPPER(x)
+C.năng : chuyển chuỗi x thành chữ HOA
+Ví dụ: UPPER(“Informatic”)-> KQ Là INFORMATIC
- Hàm LOWER(x)
+C.năng : chuyển chuỗi x thành chữ thường
+Ví dụ: Lower(“INFORMATIC”)-> KQ Là Informatic
Trang 24- Hµm LTRIM(x)
+C.n¨ng : Bá kho¶ng tr¾ng bªn tr¸i chuçi x
+VÝ dô : Ltrim(“ Informatic”)-> kq lµ “Informatic”
- Hµm RTRIM(x)
+C.n¨ng : Bá kho¶ng tr¾ng bªn ph¶i chuçi x
+VÝ dô : Ltrim(“Informatic ”)-> kq lµ “Informatic”
Trang 25- Hàm AT(x, x1, n) trong đó x là chuỗi thuộc chuỗi x1 ,
n là vị trí xuất hiện của x trong x1
Trang 262.2-Nhãm ngµy th¸ng
- Hµm DATE() : Ngµy th¸ng n¨m hiÖn t¹i
- Hµm DATETIME() Ngµy th¸ng n¨m Vµ giê hiÖn t¹i
- Hµm DAY(<Ngµy th¸ng>) : lÊy ra ngµy trong biÓu thøc date
- Hµm MONTH(<Ngµy th¸ng>) : lÊy ra th¸ng
- Hµm YEAR(<Ngµy th¸ng>) : lÊy ra n¨m
- Hµm DTOC(<Ngµy th¸ng>):chuyÓn ngµy th¸ng sang chuçi
- Hµm CTOD(<chuçi>):chuyÓn chuçi sang ngµy th¸ng
- Hµm CMONTH(<Ngµy th¸ng>): tªn th¸ng trong n¨m
- Hµm CDOW(<Ngµy th¸ng>): Cho biÕt tªn thø trong tuÇn
GV Hå ViÕt ThÞnh
Trang 272.3-Nhóm hàm số:
- Hàm MAX(<các giá trị>) : lấy giá trị lớn nhất
- Hàm MIN(<các giá trị>): lấy giá trị nhỏ nhất
- Hàm INT(<biểu thức số>) : lấy phần nguyên
- Hàm SQRT(< biểu thức số >) : lấy căn bậc hai
- Hàm ABS(< biểu thức số >) : lấy trị tuyết đối
- Hàm MOD(<BT1>,<BT2>):Lấy số của phép chia BT1 cho BT2
- Hàm VAL(<chuỗi>):chuyển chuỗi sang số
- Hàm ROUND(<bt>,n): Làm tròn số với n chữ số cần làm tròn,…
GV Hồ Viết Thịnh
Trang 282.4-Hàm điều kiện (IIF)
- CHức năng: Sử dụng trong các biểu thức có nhiều giá trị để lựa chọn, mà ta chỉ được chọn 1 giá trị thoả mãn ĐK để tính toán hoặc ghi chép
IIF(<ĐK>, <Giá trị 1>,IIF(<ĐK2>, <Giá trị 2>, …)
GV Hồ Viết Thịnh
Trang 29I-Khái niệm Cơ sở dữ liệu
Là hệ thống thông tin được lưu trữ trong các bảng dữliệu có mối quan hệ (các bảng tham chiếu) nhằm mục đích nào đó và các thành phần liên quan
như :chỉ mục, hàm của sổ được đặt trong tệp tin
Trang 304 các mối quan hệ các mối quan hệ
quan hệ 1 quan hệ 1 1 ( Inner Join) 1 ( Inner Join)
quan hệ toàn vẹn (full join) quan hệ toàn vẹn (full join)
quan hệ 1 quan hệ 1 n ( Left Join) n ( Left Join)
quan hệ n quan hệ n 1 (Right Join) 1 (Right Join)
quan hệ toàn vẹn (Full Join) quan hệ toàn vẹn (Full Join)
5
5 Chỉ mục (index) : dùng để sắp xếp d Chỉ mục (index) : dùng để sắp xếp dữ ữ liệu của trường khoá liệu của trường khoá của bảng thực hiện mối quan hệ với bảng khác trong csdl gồm khoá chính, khoá phụ
gồm khoá chính, khoá phụ… …
6
6 Hàm cửa sổ (View) : Là một bảng ảo lấy d Hàm cửa sổ (View) : Là một bảng ảo lấy dữ ữ lệu từ nhiều lệu từ nhiều bảng tham chiếu trong csdl dựa trên các mối quan hệ
Trang 31Iii làm việc với csdl của vf6.0 làm việc với csdl của vf6.0
III.1-Định nghĩa CSDL tham chiếu cho 1 Project
Cách 1
Cách 1: Thực hiện từ cửa sổ Project: Thực hiện từ cửa sổ Project
Bước 1:Chọn Database Tab, chọn New, chọn New Bước 1:Chọn Database Tab, chọn New, chọn New database
Bước 2:Chọn thư mục và nhập tên Database , chọn Bước 2:Chọn thư mục và nhập tên Database , chọn Save
Cách 2
Cách 2: Tạo Database từ cửa sổ lệnh: Tạo Database từ cửa sổ lệnh
CREATE DATABASE <Tên tệp.DBC> << / / Cách 3
Cách 3: Tạo Database từ Menu: Tạo Database từ Menu
-> Mở File / New
-> Chọn Database , chọn New File
-> Chọn thư mục và đặt tên File , chọn Save
Trang 32III.2- Loại bỏ 1 CSDL
Cách 1
Cách 1 : Thực hiện từ cửa sổ Project: Thực hiện từ cửa sổ Project
> Chọn Database trong trang Data, chọn tên tệp > Chọn Database trong trang Data, chọn tên tệp
III.3-Thêm một csdl đã có vào Project
> Chọn Database trong trang Data> Chọn Database trong trang Data
> Kích nút Add> Kích nút Add
> Chọn thư mục và tên csdl chọn OK > Chọn thư mục và tên csdl chọn OK
GV Hồ Viết Thịnh
Trang 33III.4- X©y dùng c¸c b¶ng tham chiÕu trong CSDL
1
1 Më mét CSDL trong Project Më mét CSDL trong Project
C¸ch 1 :
C¸ch 1 : Thùc hiÖn tõ cöa sæ Project ManagerThùc hiÖn tõ cöa sæ Project Manager
> Chän trang Data, chän Database vµ tªn CSDL cÇn më> Chän trang Data, chän Database vµ tªn CSDL cÇn më > KÝch nót Modify> KÝch nót Modify
C¸ch 2 :
C¸ch 2 : Thùc hiÖn tõ cöa sæ lÖnhThùc hiÖn tõ cöa sæ lÖnh
OPEN DATABASE <Tªn CSDL.DBC><< //
GV Hå ViÕt ThÞnh
Trang 34> Mở hoặc tạo 1 CSDL mới> Mở hoặc tạo 1 CSDL mới
> Kích phải chuột lên cửa sổ Database Designer, > Kích phải chuột lên cửa sổ Database Designer, chọn new table
> chọn New table, đặt tên tệp DBF, chọn OK> chọn New table, đặt tên tệp DBF, chọn OK
Trang 35> > Đ Định nghĩa cấu trúctệp DBF ịnh nghĩa cấu trúctệp DBF
trong cửa sổ Table Designer
+ Gõ tên trường tại Name
+ Chọn kiểu trường tại TYPE
Trang 36+ Xác định các tính chất của trường:
Thao tác tương tự với các trường khác
> OK> OK
Bước 2: Kích nút Yes, Nhập DL vào tệp DBF
Thao tác tương tự với các tệp khác.
Format ĐĐịnh dạng dịnh dạng dữữ liệu nhậpliệu nhập
tắcDefault value Giá trị ngầm định trong trường
Trang 37C¸ch 3: Thùc hiÖn tõ Menu File
> Më Menu File, chän new> Më Menu File, chän new
> Chän Table, chän New file> Chän Table, chän New file
> > §§Æt tªn b¶ng chän OK Æt tªn b¶ng chän OK
GV Hå ViÕt ThÞnh
Trang 38III.5-Thêm bảng độc lập đã có vào Database.
Cách 1: Thực hiện từ cửa sổ Database Designer
> Kích chuột phải lên cửa sổ Database Designer > Kích chuột phải lên cửa sổ Database Designer chọn ADD Table
> Chọn thư mục và tên bảng cần lấy, kích OK> Chọn thư mục và tên bảng cần lấy, kích OKCách 2: Thực hiện từ cửa sổ lệnh
> Cú pháp : > Cú pháp : ADD TABLE <Tên bảng.DBF> << //
> Chọn thư mục và tên bảng cần lấy, kích OK> Chọn thư mục và tên bảng cần lấy, kích OK
Trang 40III.7- sửa cấu trúc các tệp dbf
1
1 Chức n Chức nă ăng: ng:
2-Sửa cấu trúc tệp DBF
Cách 1: Thực hiện từ cửa sổ Project Manager
> Chọn Data tab, chọn Database, chọn tên CSDL, > Chọn Data tab, chọn Database, chọn tên CSDL, chọn tệp DBF
> Kích nút Modify> Kích nút Modify
> Sửa tên, kiểu, độ dài, Thêm, bớt trường và các > Sửa tên, kiểu, độ dài, Thêm, bớt trường và các
tính chất trong cửa sổ Table Designer
Trang 41III.8-Tạo và hủy bỏ mối quan hệ giữa các bảng
1
1 Tạo mối quan hệ Tạo mối quan hệ
> Tạo chỉ mục Index cho các trường Trung gian của > Tạo chỉ mục Index cho các trường Trung gian của các bảng
> Mở cửa sổ Database Designer chứa các bảng> Mở cửa sổ Database Designer chứa các bảng
>Tạo quan hệ giứa các bảng>Tạo quan hệ giứa các bảng
+ Kích kéo chuột đưa trường Tr.gian của bảng này thả vào bảng kia
+Ghi lại
2
2 Huỷ bỏ mối quan hệ Huỷ bỏ mối quan hệ
> Mở cửa sổ Database Designer> Mở cửa sổ Database Designer
> Chọn đường nối gi> Chọn đường nối giữữa 2 bảnga 2 bảng
> ấn phím Delete> ấn phím Delete
GV Hồ Viết Thịnh
Trang 42c¸c lÖnh lµm viÖc víi tÖp dbf
1- Söa d÷ liÖu trong c¸c tÖp DBF
Sö dông lÖnh Sö dông lÖnh Browse
Trang 432-Thªm c¸c b¶n ghi DL
ChÌn thªm b¶n Ghi míiChÌn thªm b¶n Ghi míi
GO <VÞ trÝ b¶n ghi> <-/
INSERT BEFOR / AFTER
Nèi thªm c¸c b¶n Ghi míi.Nèi thªm c¸c b¶n Ghi míi
APPEND << //
Nèi c¸c b¶n Ghi tõ mét b¶ng kh¸cNèi c¸c b¶n Ghi tõ mét b¶ng kh¸c
APPEND FORM <B¶ng DL nguån><< //
Nèi thªm b¶n ghi tr¾ng vµo cuèi tÖp
APPEND BLANK < < //
Trang 443- Cập nhật dữ liệu mới cho các trường trong bảngREPLACE ALL <Tên trường> WITH <BT> [FOR <
REPLACE ALL <Tên trường> WITH <BT> [FOR <ĐĐK>]K>]< < //4- Xoá các bản ghi DL
ĐĐánh dấu các bản ghiánh dấu các bản ghi
DELETE <Phạm vi> [FOR <ĐK>] < < //
Khôi phục các bản Ghi bị đánh dấu Khôi phục các bản Ghi bị đánh dấu
RECALL <Phạm vi> [FOR <ĐK>] < < //
Xoá các bản Ghi đã đánh dấuXoá các bản Ghi đã đánh dấu
PACK < < //
Xoá toàn bộ các bản Ghi dXoá toàn bộ các bản Ghi dữữ liệuliệu
ZAP << / /
Trang 455-Sắp xếp dữ liệu
a
a Sắp xếp bằng lệnh Sort Sắp xếp bằng lệnh Sort
SORT ON <Tên trường>/A/D/C TO <Tệp mới><-/
b Sắp xếp bằng lệnh Index (chỉ mục) Sắp xếp bằng lệnh Index (chỉ mục)
Index là lệnh tạo tệp chỉ số có phần mở rộng là IDX Chứa thứ tự các bản ghi được sắp xếp theo DL của 1 trường được chỉ định
để tiện cho việc nối kết, tính toán và t
để tiện cho việc nối kết, tính toán và tììm kiếm DL m kiếm DL.
INDEX ON <Tên trường> TO <Tên khoá><-/
Trang 466- Tính toán trên bảng DL
Tính tổng các bản ghi trong các trường kiểu Tính tổng các bản ghi trong các trường kiểu
Numeric,currency
SUM [<Danh sách trường>] [TO <DS Biến>] [FOR <ĐK>]
Tính trung bTính trung bìình cộng các bản ghi trong các trường nh cộng các bản ghi trong các trường