1. Trang chủ
  2. » Công Nghệ Thông Tin

bài tập thục hành CSDL phân tán

36 2,2K 10

Đ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

Thông tin cơ bản

Định dạng
Số trang 36
Dung lượng 1,6 MB

Nội dung

Quan hệ trên được phân rã thành các phân mảnh sau: - Tại phân mảnh 1 – THUCTAP_THANHPHO, chỉ lưu trữ các thông tin của quá trình thực tập với NOITHUCTAP là ở thành phố Hồ Chí Minh.. - T

Trang 1

a Chu ẩn đầu ra: sau bài này người học có thể:

− Định nghĩa được các loại phân mảnh sử dụng đại số quan hệ

− V ẽ được cây phân mảnh các đọan dữ liệu

− Vi ết các đọan mã code xử lý vấn tin dữ liệu phân tán theo yêu cầu các bài tóan cụ thể

b Chu ẩn bị: Đọc trước phần lý thuyết chương 2, các ví dụ mẫu

c Phương tiện: Giấy, viết

d Th ời lượng: 5 tiết

e N ội dung thực hành: Thực hiện bài tập 1 đến 5 Hướng dẫn giải bài tập đã hướng dẫn

trong ví dụ lý thuyết

Bài 1

C ho lược đồ toàn cục sau:

MED-TREATMENT)

DEPARTMENT(DEPT, LOCATION, DIRECTOR)

STAFF(STAFFNUM, DIRECTOR, TASK)

Giả sử Dom(LOCATION)={HN,SG}

Định nghĩa phân đoạn của chúng như sau:

(a) DEPARTMENT được phân đoạn ngang bởi LOCATION với hai vị trí; mỗi phòng ban

được quản lý bởi một DIRECTOR

(b) Nhân viên trong mỗi phòng được quản lý bởi Director của văn phòng STAFF được phân

đoạn ngang dẫn xuất theo DEPARTMENT và một semi-join trên thuộc tính DIRECTOR

(c) PATIENT được phân đoạn hỗn hợp: Các thuộc tính NUMBER, NAME, SSN, và

AMOUNT-DUE tạo thành một phân đoạn dọc được sử dụng cho các mục đích tính toán; các thuộc tính NUMBER, NAME, DEPT, DOCTOR và MED-TREATMENT tạo thành một phân đoạn dọc được sử dụng cho việc mô tả Phân đoạn thứ hai được phân đoạn

ngang dẫn xuất từ DEPARTMENT bởi một semi-join trên thuộc tính DEPT

Đưa ra biểu thức tái tạo các quan hệ toàn cục từ các phân đoạn

Bài 2

Hãy xem lược đồ toàn cục, phân đoạn và định vị sau:

Lược đồ toàn cục: STUDENT(NUMBER, NAME, DEPT)

Lược đồ phân đoạn: STUDENT1= σDEPT=”EE”STUDENT

Trang 2

Với Dom(DEPT) = { “EE”, “CS”}

(a) Viết một ứng dụng đòi hỏi nhập vào mã số (number) sinh viên từ terminal và xuất

ra tên và khoa, tại mức 1,2 và 3 của trong suốt

(b) Viết một ứng dụng để chuyển sinh viên có số 232 từ phòng “EE” đến khoa “CS”

tại mức 1,2 và 3 của trong suốt

(c) Viết một ứng dụng để chuyển một sinh viên có mã số và khoa được đưa ra tại

ter minal đến khoa khác, ở mức 2 của trong suốt

(d) Hãy xem trường hợp trong ứng dụng 1 được lập lại cho nhiều giá trị có thể của số

sinh viên Viết ứng dụng:

• Truy cập cơ sở dữ liệu cho mỗi mã sinh viên được cho trên terminal

• Truy cập cơ sở dữ liệu sau khi tập hợp một vài thông số đầu vào từ terminal

Hãy viết ứng dụng trong suốt ở mức 2 trên EXAMPLE_DDB cho thao tác chuyển nhà cung cấp

157 t ừ “SF” sang “LA” (xem thông tin SUPPLIER, SUPPLY; sử dụng phát biểu SQL:

“INSERT INTO <tên quan hệ> QUERY”.)

Bài 3

Cho m ột quan hệ phổ quát chứa thông tin về việc thực tập của sinh viên như sau :

THUCTAP gồm các thuộc tính: MASV, HOTEN, NOISINH, HOCLUC, TENDETAI, KINHPHI, NOITHUCTAP, KETQUA

Tân từ: mỗi sinh viên thực tập với một đề tài duy nhất, tại một tỉnh xác định (NOITHUCTAP) và đạt kết quả là bao nhiêu điểm(KETQUA)

Quan hệ trên được phân rã thành các phân mảnh sau:

- Tại phân mảnh 1 – THUCTAP_THANHPHO, chỉ lưu trữ các thông tin của quá trình thực tập với NOITHUCTAP là ở thành phố Hồ Chí Minh

- Tại phân mảnh 2 - THUCTAP_TINH_1, lưu trữ các thông tin về quá trình thực tập của sinh viên với nơi thực tập không ở thành phố, kèm theo điều kiện là kinh phí trên 05 triệu đồng

và thực tập đạt loại khá giỏi (kết quả từ 7.0 trở lên)

- Tại phân mảnh 3 - THUCTAP_TINH_2, lưu trữ các thông tin về quá trình thực tập của sinh viên với nơi thực tập không ở thành phố, kèm theo điều kiện là kinh phí không quá 05 triệu đồng và thực tập đạt loại khá giỏi (kết quả từ 7.0 trở lên)

- Tại phân mảnh 4 - THUCTAP_TINH_3, lưu trữ các thông tin của các sinh viên còn lại Biết rằng có 3 site lưu trữ như sau:

Site 1: chứa phân mảnh THUCTAP_THANHPHO

Site 2: chứa phân mảnh THUCTAP_TINH_1 và THUCTAP_TINH_2

Site 3: chứa phân mảnh THUCTAP_TINH_2 và THUCTAP_TINH_3

Trang 3

Cho m ột quan hệ phổ quát chứa thông tin về tài khoản trong ngân hàng như sau

TAIKHOAN(MATAIKHOAN, TENCHUTK, NGAYMO, CHINHANH, SODU, LOAITIEN, LOAITK)

Tân t ừ: mỗi tài khoản có một mã tài khoản (MATAIKHOAN) duy nhất để phân biệt với các tài kho ản khác Mỗi tài khoản thuộc duy nhất một chủ tài khoản (TENCHUTK), được mở vào một ngày (NGAYMO), tại một chi nhánh (CHINHANH) và được lựa chọn một trong hai loại tiền (LOAITIEN) là USD hay VND Khi mở tài khoản, chủ tài khoản đăng ký loại tài khoản (LOAITK) : 3 tháng, 6 tháng, một năm hoặc không kỳ hạn Số tiền hiện có trong tài khoản được xác định thông qua số dư của tài khoản (SODU)

Quan hệ phổ quát trên được phân rã thành các phân đoạn sau:

TK_1 : chứa thông tin các tài khoản mở tại chi nhánh Hà Nội

TK_2: chứa thông tin các tài khoản mở tại TPHCM mà có số dư từ 100 triệu trở lên

TK_3: chứa thông tin các tài khoản mở tại TPHCM mà có số dư dưới 100

TK_4: chứa thông tin các tài khoản còn lại

Biết rằng có 3 site lưu trữ như sau:

Site 1: chứa phân đoạn TK_1 và TK_2

Site 2: chứa phân đoạn TK_2 và TK_3

Site 3: chứa phân đoạn TK_3 và TK_4

a Vi ết câu truy vấn để thực hiện việc phân rã thành các phân đoạn theo yêu cầu như trên

b Hi ển thị thông tin về số dư và loại tiền có trong tài khoản của khách hàng Lê Tuấn Anh

c Ch ủ tài khoản TK001 cần thay đổi nơi giao dịch của mình sang chi nhánh mới là Hanoi

d Khách hàng Trần Hoàng Vĩnh thực hiện giao dịch nộp tiền vào tài khoản với số tiền là

5 tri ệu đồng

V ới câu b, c và d yêu cầu viết câu truy vấn ở cả 3 mức trong suốt

Trang 4

Nguyễn Phương 2011

4

Bài 5

Cho các quan h ệ toàn cục:

NV(MaNV , Hoten, MaNQL, Phong, Luong, Diachi)

DA(MaDA, TenDA, Diadiem, KP)

Ph ancong(MaNV,MaDA)

Các quan h ệ được phân đoạn như sau:

NV1(MaNV , Hoten,MaNQL, Diachi, Phong): Gồm các nhân viên có lương 5tr USD trở lên

NV2(MaNV, Hoten,MaNQL, Diachi, Phong): Gồm các nhân viên có lương dưới 5tr USD NV3(MaNV , Hoten, Lương): Gồm các nhân viên có lương 5tr USD trở lên

NV4(MaNV , Hoten, Lương): Gồm các nhân viên có lương dưới 5tr USD

DA1: Danh sách d ự án ở TP.HCM có KP từ 1 tỉ trở lên;

DA2: Danh sách dự án ở TP.HCM có KP dưới 1 tỉ;

DA3: Danh sách d ự án ở các tỉnh thành khác có KP từ 500 tr trở lên;

DA4: Danh sách d ự án ở các tỉnh thành khác có KP dưới 500 tr.;

Quan hệ Phân công được phân đoạn theo Dự án

a Vi ết biểu thức đại số phân đoạn và tái tạo các quan hệ trên;

b Vì một nguyên nhân giả định, nhân viên có MaNV NV01005 vi phạm kỷ luật Quyết định phạt hành chính được thành lập trừ lương mỗi tháng 2tr., thuyên chuyển công tác nhân viên này v ề làm bảo vệ ở dự án Đồng Nai và rút kinh phí ở dự án nhân viên này đang công tác 100tr đồng đưa vào ngân sách cty Viết truy vấn xử lý trường hợp trên (m ức trong suốt định vị dữ liệu)

1.2 Bài tập chương 3

a Chu ẩn đầu ra: sau bài này người học có thể:

− Phân m ảnh dữ liệu ngang và dọc theo các thuật toán PHORIZONTAL và BEA

b Chu ẩn bị: Đọc trước phần lý thuyết chương 3, các thuật tóan, các ví dụ mẫu

c Phương tiện: Giấy, viết

d Th ời lượng: 5 tiết

e N ội dung thực hành: Thực hiện bài tập 1 đến 3 Hướng dẫn giải bài tập đã hướng dẫn

trong ví dụ lý thuyết

Bài 1:

Trang 5

Nguyễn Phương 2011

5

Cho quan h ệ NHANVIEN của một công ty dầu khí

MaNV HT PHAI CHUCVU THAMNIEN PHONG

Nhân viên công ty tham gia các dự án theo phòng ban, tổ phòng ban từ 1 đến 5 làm việc dự

án văn phòng và tất cả nữ nhân viên đều làm việc tại dự án này, tổ phòng ban từ 6 trở đi làm việc

ở dự án ngoài giàn khoan, tổng cộng công ty hiện tại có 02 dự án thực hiện trong 10 năm tại giàn khoan Vũng Tàu và tại Q.1, TP.HCM

Gi ả sử có hai ứng dụng truy xuất NHÂN VIÊN:

1 Ứng dụng thứ nhất truy cập CSDL để quản lý tiền lương nhân viên đang làm việc và lương hưu của nhân viên đã làm việc đang ở tuổi về hưu Tuổi về hưu được xác định đối với nam

có thâm niên là quá 30 năm, nữ là quá 25 năm

2 Ứng dụng thứ hai có thể chạy tại bất kỳ phòng ban nào, truy cập thông tin nhân viên theo các d ự án

Sử dụng thuật toán COM_IN và PHORIZONTAL tìm tập hợp vị từ giao tối thiểu và phân mảnh ngang chính cho quan hệ NHANVIEN trên theo yêu cầu các ứng dụng

Bài 2:

Cho quan h ệ NHANVIEN của một công ty dầu khí

MaNV HT PHAI CHUCVU THAMNIEN PHONG

Nhân viên công ty tham gia các dự án theo phòng ban, tổ phòng ban từ 1 đến 5 làm việc dự

án văn phòng, tổ phòng ban trên 5 làm việc ở dự án ngoài giàn khoan, tổng cộng công ty hiện tại

có 02 dự án thực hiện trong 10 năm tại giàn khoan Vũng Tàu và tại Q.1, TP.HCM Tất cả các nam nhân viên đều làm việc tại văn phòng dự án ở giàn khoan

Trang 6

Nguyễn Phương 2011

6

Gi ả sử có hai ứng dụng truy xuất NHÂN VIÊN:

3 Ứng dụng thứ nhất truy cập CSDL để quản lý tiền lương nhân viên đang làm việc và lương hưu của nhân viên đã làm việc đang ở tuổi về hưu Tuổi về hưu được xác định đối với nam

có thâm niên là quá 30 năm, nữ là quá 25 năm

4 Ứng dụng thứ hai có thể chạy tại bất kỳ phòng ban nào, truy cập thông tin nhân viên theo các d ự án

Sử dụng thuật toán COM_IN và PHORIZONTAL tìm tập hợp vị từ giao tối thiểu và phân mảnh ngang chính cho quan hệ NHANVIEN trên theo yêu cầu các ứng dụng

Bài 3

Cho quan h ệ toàn cục Nhân viên (NV), Phòng ban (PB) và Dự án (DA) như sau:

NV(MaNV , HoNV, TenNV, NoiThuongTru, MaPhong)

PB(MaPhong, TenPhong, MaDA)

DA( MaDA, TenDA, Diadiem)

Xét các truy v ấn

q1: SELECT MaNV, HoNV, TenNV, MaPhong FROM NV

q2: SELECT MaNV, HoNV, TenNV FROM NV WHERE MaPhong=Value

q3: SELECT MaNV FROM NV WHERE MaPhong=Value AND NoiThuongTru=Value

q4: SELECT TenNV FROM NV

q5: SELECT MaNV, HoNV, TenNV FROM NV

T ần số sử dụng các truy vấn tại các site như sau:

a Xây d ựng ma trận ái lực của tất cả các thuộc tính quan hệ NV;

b Cho bi ết số truy xuất đến các cặp thuộc tính cho mỗi ứng dụng tại các vị trí refi(qj)=1

Phân đoạn dọc quan hệ NV sử dụng thuật toán năng lượng nối BEA

1.3 Bài tập chương 4

a Chu ẩn đầu ra: sau bài này người học có thể:

− V ẽ được cây truy vấn ứng với mỗi bài tóan cụ thể

− Biến đổi được truy vấn tòan cục sang truy vấn phân mảnh trên dữ liệu phân tán đã có

− Xác định được các chi phí trong các truy vấn, xử lý dữ liệu

− Đưa ra được cây truy vấn tối ưu cho mỗi bài tóan cụ thể

b Chu ẩn bị: Đọc trước phần lý thuyết chương 4, các ví dụ mẫu

c Phương tiện: Giấy, viết

d Th ời lượng: 5 tiết

Trang 7

Cho quan h ệ toàn cục Nhân viên (NV), Phòng ban (PB) và Dự án (DA) như sau:

NV(MaNV , HoNV, TenNV, NoiThuongTru, MaPhong)

PB(MaPhong, TenPhong, MaDA)

DA( MaDA, TenDA, Diadiem)

Quan hệ Nhân viên được phân làm 3 mảnh lưu danh sách nhân viên theo mã Phòng Dự án được chia làm 2 mảnh theo địa điểm thuộc hai miền Nam và Bắc Phòng Ban được chia theo mã

d ự án

Biến đổi câu truy vấn sau trên các mảnh:

SELECT HoNV, TenNV

FROM NV, PB, DA

Bài 2

Cho lược đồ cơ sở dữ liệu như trên Trong đó các quan hệ gồm khách hàng (customer), người gửi (depositor), tài khoản (account), chi nhánh (branch), người vay (borrower), tiền vay (loan)

Quan hệ account chia làm 2 đoạn theo số tiền dư balance: lớn hơn 100 triệu USD ở một site, còn lại lưu ở site thứ 2 Loan phân hoạch theo 2 mảnh tương tự, với số tiền vay amount với ranh gi ới là 100triệu đồng và lưu ở 2 site khác nhau Hay bảng depositor và borrower phân mảnh ngang tương ứng theo account và loan và cũng đặt tại các site khác nhau tương ứng

Hãy bi ến đổi truy vấn sau thành vấn tin rút gọn trên các mảnh

select distinct customer_name

from borrower, loan

Trang 8

Nguyễn Phương 2011

8

where borrower.loan_number = loan.loan_number

and branch_name = “Perryridge”

and (branch_name, customer_name) in

(select branch_name, customer-name from depositor, account

where depositor.account_number =account.account_number)

Bài 3

Cho các quan h ệ toàn cục:

DEPT( dept , category, location, director); - mỗi phòng ban có 1 director, thuộc 1

category

STAFF( staffnum, director, task);

PATIENT( number, name, ssn, dept, doctor, med-treatment, drug, quan)

Trong đó khoa Nhi không dùng thuốc aspirin, ssn = {Y,N}

Các quan h ệ được phân mảnh như sau:

DEPT_NOI: Chứa thông tin các phòng ban Khoa Nội (category=NOI), lưu trữ tại site 1;

DEPT_NGOAI: Chứa thông tin các phòng ban Khoa Ngoại, lưu trữ tại site 2;

DEPT_NHI: Chứa thông tin các phòng ban Khoa Nhi, lưu trữ tại site 3;

DEPT#: Ch ứa thông tin các các phòng ban Khoa còn lại, lưu trữ tại site 4;

STAFF_NOI: Các nhóm cán bộ phòng ban Khoa Nội, lưu trữ tại site 1;

STAFF_NGOAI: Các nhóm cán bộ phòng ban Khoa Ngoại, lưu trữ tại site 2;

STAFF_NHI: Các nhóm cán bộ phòng ban Khoa Nhi, lưu trữ tại site 3;

STAFF#: Các nhóm cán bộ phòng ban Khoa khác, lưu trữ tại site 4;

PATIENT_Y(number, name, ssn): Dùng quản lý chung bệnh nhân, ssn=“Y”, lưu trữ tại site 1,4; PATIENT_N(number, name, ssn): Dùng quản lý chung bệnh nhân, ssn= “N”, lưu trữ tại site

2,3;

PATIENT_N1(number, dept, doctor, med-treatment,drug,quan): Quản lý Khoa Nội, điều trị

nh ạy cảm (med-treatment= “intensive”), lưu trữ tại site 1,3;

PATIENT_N2(number, dept, doctor, med-treatment,drug,quan): Quản lý Khoa Nội,điều trị

không nhạy cảm, lưu trữ tại site 2,4;

PATIENT_N3(number, dept, doctor, med-treatment,drug,quan): Quản lý Khoa Ngoại, tại site

2,5;

PATIENT_N4(number, dept, doctor, med-treatment,drug,quan): Quản lý Khoa Nhi, tại site 3,7;

PATIENT#(number, dept, doctor, med-treatment,drug,quan): Quản lý các khoa còn lại, tại site 4,8;

Trang 9

Nguyễn Phương 2011

9

a) Vẽ cây phân mảnh và viết biểu thức định nghĩa phân mảnh, tái hợp các phân mảnh trên;

(1 điểm)

b) Viết truy vấn chuyển bệnh nhân có name nhập từ terminal từ khoa này sang khoa khác,

tên khoa cũng được nhập từ terminal, Giả định rằng việc nhập vào tên khoa mới là không

gi ống tên khoa hiện có của bệnh nhân, và các name không trùng lặp nhau, viết ở mức ánh

x ạ cục bộ;

(4 điểm)

c) Vẽ sơ đồ kết của: (1 điểm)

DEPT JNdept=dept PATIENT

DEPT JNdirector=directorSTAFF

d) Biến đổi truy vấn toàn cục thành phân mảnh

Ψcategory,avg(quan)Пcategory,taskσdrug= “aspirin” (DEPT NJN STAFF JNdept=deptPATIENT) (1 điểm)

Trang 10

Nguyễn Phương 2011

10

Phần 2 TH ỰC HÀNH

a Chu ẩn đầu ra: sau bài này người học có thể:

− Xây dựng được từ điển dữ liệu, xác định được các lược đồ cơ sở dữ liệu phân tán

− Xây d ựng được phần mềm có các chức năng sau:

i qu ản lý cơ sở dữ liệu phân tán;

ii qu ản lý từ điển dữ liệu cơ sở dữ liệu phân tán;

iii các thao tác x ử lý dữ liệu trên CSDL phân tán: cầu nối giữa người dùng và cơ sở dữ

li ệu vật lý

iv phân m ảnh dữ liệu

b Chu ẩn bị: Ôn tập kết hợp tất cả các chương 1-4

c Phương tiện: Máy tính có cài đặt ngôn ngữ cấp cao, hệ quản trị cơ sở dữ liệu: SQL

Server hoặc Oracle…

d Th ời lượng: 10 tiết thực hành + 50 tiết chuẩn bị ở nhà (kéo dài cả học kỳ)

e N ội dung thực hành: Thực hiện bài tập 1 đến 3

Bài 1 Tạo chương trình theo các yêu cầu sau:

a Làm việc trên một cơ sở dữ liệu phân tán trên ít nhất 2 máy tính (site) Lược đồ phân m ảnh, ít nhất phải tồn tại 2 quan hệ được phân mảnh, mỗi quan hệ phân hỗn

h ợp ít nhất 2 mảnh Lược đồ định vị dữ liệu không giống nhau ở các site, giao của các lược đồ này khác rỗng

b Thi ết lập từ dữ liệu để quản lý lược đồ cơ sở dữ liệu Từ điển dữ liệu phải quản lý được tất cả thông tin trong lược đồ, các đối tượng như server, database, tables, attribute, predicates, operators…

c Chương trình tối thiểu có thể cho người dùng:

i thao tác trên cơ sở dữ liệu với các thao tác cơ bản sau: tìm kiếm mở rộng trên các tiêu chí, thông tin có trong CSDL, chỉnh sửa, thêm và xóa thông tin đã tìm được Giao diện tùy chọn thiết kế Người dùng không biết các

b ảng, không biết các cấu trúc của cơ sở dữ liệu Chỉ biết tìm kiếm và hiệu

ch ỉnh trên dữ liệu của mình có

ii Quản lý thông tin từ diển dữ liệu, phù hợp với sự thay đổi trong từ điển dữ

li ệu là sự biến đổi của dữ liệu trong cơ sở dữ liệu

d N ội dung báo cáo:

− Mô tả bài toán, cơ sở dữ liệu, các lược đồ dữ liệu ở các site

− Xác định từ điển dữ liệu

Trang 11

Nguyễn Phương 2011

11

− Kết quả thực hiện (+Demo)

− Ph ụ lục (Code) (Courier New, 8pt) Bài 2 Tạo chương trình cho phép phân mảnh dữ liệu theo thuật toán năng lượng kết (BEA) Bài 3 Nâng cấp chương trình ở bài 1, cho phép người dùng phân mảnh dữ liệu ngang, dọc theo

ý mu ốn dựa trên các thông tin của từ điển dữ liệu và cơ sở dữ liệu sẵn có

Trang 12

Nguyễn Phương 2011

12

TÀI LI ỆU THAM KHẢO

1 Nguy ễn Trung Trực Cơ sở dữ liệu phân bố NXB ĐHQG 2004

2 Nguyễn Bá Tường Nhập môn cơ sở dữ liệu phân tán, NXB KH&KT Hà Nội, 2003

3 Stefan Ceri - Giuseppe Pelagatti, Distributed Database Principles & Systems, McGraw Hill Book Company, 1985

4 Nguy ễn Minh Đạo Tài liệu hướng dẫn lập trình kết nối dữ liệu từ ngôn ngữ cấp cao (đính

kèm trang sau )

Trang 13

Giảng viên : Nguyễn Minh Đạo Trang 1

Bài 10-11: LẬP TRÌNH KẾT NỐI CƠ SỞ DỮ LIỆU

Trang 14

Giảng viên : Nguyễn Minh Đạo Trang 2

Đưa dữ liệu lên các đối tượng ListBox / ComboBox

Ví dụ 10.1: Thiết kế form như sau

* Yêu cầu:

Trang 15

Giảng viên : Nguyễn Minh Đạo Trang 3

Khi Form load: đưa dữ liệu từ table ThanhPho lên ListBox (lstThanhPho), kèm bẫy lỗi

Nhắp vào Button Thoát: dừng chương trình (có hiện hộp thoại hỏi đáp trước khi dừng)

* Hướng dẫn:

- Thiết kế form như yêu cầu

- Khai báo namespace sử dụng:

// Đối tượng kết nối

SqlConnection conn = null;

// Đối tượng đưa dữ liệu vào DataTable dtThanhPho

SqlDataAdapter daThanhPho = null;

// Đối tượng hiển thị dữ liệu lên Form

DataTable dtThanhPho = null;

public Form1()

{

InitializeComponent();

}

// Sự kiện xãy ra khi form được tải vào bộ nhớ và xuất ra màn hình

privatevoid Form1_Load(object sender, EventArgs e)

{

try

{

// Khởi động connection

conn = newSqlConnection(strConnectionString);

// Vận chuyển dữ liệu lên DataTable dtThanhPho

daThanhPho = newSqlDataAdapter("SELECT * FROM THANHPHO", conn);

dtThanhPho = newDataTable();

dtThanhPho.Clear();

daThanhPho.Fill(dtThanhPho);

// Đưa dữ liệu lên ListBox

this.lstThanhPho.DataSource = dtThanhPho;

this.lstThanhPho.DisplayMember = "TenThanhPho";

Trang 16

Giảng viên : Nguyễn Minh Đạo Trang 4

this.lstThanhPho.ValueMember = "ThanhPho";

// Sự kiện đang đóng form, hủy kết nối và giải phóng các đối tượng

privatevoid Form1_FormClosing(object sender, FormClosingEventArgs e)

// Hiện hộp thoại hỏi đáp

traloi = MessageBox.Show("Chắc không?", "Trả lời",

MessageBoxButtons.OKCancel, MessageBoxIcon.Question);

// Kiểm tra có nhắp chọn nút Ok không?

if (traloi == DialogResult.OK) Application.Exit();

}

// Click chọn dữ liệu trong ListBox

privatevoid lstThanhPho_Click(object sender, EventArgs e)

{

MessageBox.Show("Bạn chọn Thành phố :" + lstThanhPho.SelectedValue.ToString(), "Thông báo",

MessageBoxButtons.OK, MessageBoxIcon.Information);

Trang 17

Giảng viên : Nguyễn Minh Đạo Trang 5

Bài tập 2 Đưa dữ liệu lên DataGridView

Ví dụ 10.2: Thiết kế form như sau

Trang 18

Giảng viên : Nguyễn Minh Đạo Trang 6

+ Trong hộp thoại Edit Columns, nhắp Add để mở hộp thoại Add column và các

column (cột) theo danh sách sau:

Ngày đăng: 12/09/2016, 23:08

TỪ KHÓA LIÊN QUAN

w