Tải bản đầy đủ (.pdf) (30 trang)

Dùng hệ thống thông tin trong trình viết quản lý Bệnh viện Khánh hòa - 2 pot

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (158.83 KB, 30 trang )

Khoa (Mã khoa, Tên khoa)
Chuyên môn (Mã chuyên môn, Tên chuyên môn)
Chức Vụ (Mã chức vụ, Tên chức vụ)
Bệnh (Mã bệnh, Tên bệnh)
Vị trí (Mã vị trí, Tên vị trí)
Nhân viên (Mã NV, Họ tên NV, Ngày sinh NV, Giới tính NV, Số nhà NV,
Điện thoại NV, Mã xãc, Mã khoa, Mã CM, Mã CV)
Dòng khám bệnh (Mã khám bệnh, Mã nhân viên, Mã bệnh nhân, Mã bệnh, Mã
vị trí, Ngày KB, Nội dung KB, Chi phí KB)
Bệnh nhân (Mã bệnh nhân, Họ bệnh nhân, Tên bệnh nhân, Ngày sinh BN,
Giới tính BN, Mã xã)
Bảo hiểm y tế (Mã bệnh nhân, Số thẻ BHYT, Ngày bắt đầu, Ngày kết thúc,
Phần trăm)
Cơ quan (Mã cơ quan, Tên cơ quan, Điện thoại CQ, Fax cơ quan)
Cán bộ (Mã bệnh nhân, Mã cơ quan)
Tạm ứng (Mã T.ứng, Lần T.ứng, Số tiền, Ngày T.ứng, Mã bệnh nhân)
Bệnh án (Mã khám bệnh, Mã nhân viên, Mã bệnh nhân, Mã bệnh, Mã vị trí,
Mã nơi Đ.T, Ngày vào, Ngày ra, Tình trạng ra)
Nơi Điều Trị (Mã nơi Đ.T, Tên nơi Đ.T, Đơn giá)
Dịch Vụ Dùng (Mã khám Bệnh, Mã nhân viên, Mã bệnh nhân, Mã bệnh, Mã
vị trí, Mã nơi Đ.T, Mã dịch Vụ, Lần dùng)
Dịch Vụ (Mã dịch vụ, Tên dịch vụ, Đơn giá D.V)
Thuốc Dùng (Mã khám Bệnh, Mã nhân viên, Mã bệnh nhân, Mã bệnh, Mã vị
trí, Mã thuốc, Số lượng, Liều dùng)
Thuốc (Mã thuốc, Tên thuốc, Đơn giá)
4. Danh Sách Các Bảng
4.1 Bảng Tỉnh
Tỉnh (Mã tỉnh, Tên tỉnh)
Tên trường Loại dữ liệu Mô tả Kích thước
Mã tỉnh Char Mã tỉnh Len()=2
Tên tỉnh Char Tên tỉnh 30


Giải Thích
+ Bảng tỉnh lưu trữ thông tin về tỉnh mà bệnh nhân và Nhân Viên đang sống
4.2 Bảng Huyện
Huyện (Mã Huyện, Tên Huyện, Mã Tỉnh)
Tên trường Loại dữ liệu Mô tả Kích thước
Mã huyện Char Mã huyện Len()=4
Tên huyện Char Tên huyện 30
Mã tỉnh Char Mã tỉnh Len()=2
Giải Thích
+ Bảng huyện lưu trữ thông tin về huyện mà bệnh nhân và Nhân Viên đang
sống
- Trường mã huyện gồm có 4 ký tự 2 ký tự đầu là mã tỉnh mà huyện đó trực
thuộc hai ký tự tiếp theo là thứ tự huyện trong tỉnh.
- Trường mã tỉnh là khóa ngoài của bảng huyện trường này nhận thông mã
tỉnh từ bảng tỉnh
4.3 Bảng Xã
Xã (Mã xã, Tên xã, Mã huyện)

Tên trường Loại dữ liệu Mô tả Kích thước
Mã xã Char Mã xã Len()=6
Tên xã Char Tên xã 30
Mã huyện Char Mã huyện Len()=4
Giải thích
+ Bảng xã cùng với bảng huyện và bảng tỉnh lưu trữ thông tin địa chỉ của
bệnh nhân cũng như nhân viên
- Trường mã xã gồm có 6 ký tự 4 ký tự đầu là mã huyện mà xã trực thuộc
còn hai ký tự sau là thứ tự xã trong huyện.
- Trường mã huyện là khóa ngoài của bảng xã, trường này nhận thông tin từ
trường mã huyện của bảng huyện
4.4 Bảng KHOA

KHOA (Mã khoa, Tên khoa)
Tên trường Loại dữ liệu Mô tả Kích thước
Mã khoa Char Mã khoa Len()=2
Tên khoa Char Tên khoa 30
Giải thích
+ Bảng Khoa lưu trữ thông tin về khoa mà nhân viên (Bác sĩ) đang làm việc
4.5 Bảng CHUYÊN MÔN
CHUYÊN MÔN (Mã chuyên môn, Tên chuyên môn)
Tên trường Loại dữ liệu Mô tả Kích thước
Mã chuyên môn Char Mã chuyên môn Len()=2
Tên chuyên môn Char Tên chuyên môn 30
Giải thích
+ Bảng chuyên môn lưu trữ thông tin về chuyên môn của nhân viên
4.6. Bảng Chức Vụ
Chức Vụ (Mã chức vụ, Tên chức vụ)
Tên trường Loại dữ liệu Mô tả Kích thước
Mã chức vụ Char Mã chức vụ Len()=2
Tên chức vụ Char Tên chức vụ 30
Giải thích
+ Bảng chức vụ lưu trữ thông tin về chức vụ của Nhân Viên
4.7. Bảng Bệnh
Bệnh (Mã bệnh, Tên bệnh)
Tên trường Loại dữ liệu Mô tả Kích thước
Mã bệnh Char Mã bệnh Len()=4
Tên bệnh Char Tên bệnh 30
Giải thích
+ Bảng này lưu trữ tất cả các bệnh hiện có
4.8. Bảng Vị Trí
Vị Trí (Mã vị trí, Tên vị trí)
Tên trường Loại dữ liệu Mô tả Kích thước

Mã vị trí Char Mã vị trí Len()=2
Tên vị trí Char Tên vị trí 30
Giải Thích
+ Bảng này lưu trữ thông tin về vị trí mà bệnh nhân được khám bệnh
4.9. Bảng Nhân Viên
Nhân Viên (Mã NV, Họ Tên NV, Ngày Sinh NV, Giới Tính NV, Số Nhà NV,
Điện Thoại NV, Mã Xã, Mã Khoa, Mã CM, Mã CV)
Tên Trường Loại Dữ Liệu Mô Tả Kích Thước
Mã NV Char Mã nhân viên Len()=5
Họ Tên NV Char Họ tên nhân viên 30
Ngày Sinh NV Date Ngày sing nhân viên
Giới Tính NV Boolear Giới tính nhân viên
Số Nhà NV Char Số nhà nhân viên 30
Điện Thoại NV Char Điện thoại nhân viên 15
Mã Xã Char Mã xã Len()=6
Mã Khoa Char Mã khoa Len()=2
Mã CM Char Mã chuyên môn Len()=2
Mã CV Char Mã chức vụ Len()=2
Giải thích
+ Bảng nhân viên lưu trữ tất cả thông tin về nhân viên (Bác sĩ)
- Trường ngày sinh Nhân Viên nhận dữ liệu sao cho tuổi của nhân viên
không được lớn hơn 65 và không được nhỏ hơn 18
- Trường giới tính nhân viên nhận kiểu dữ liệu Boolear (True tương ứng với
nam, False tương ứng với nữ).
- Trường số nhà nhân viên để xác định chỗ ở của nhân viên.
- Bảng Nhân Viên nhận Mã Xã, Mã Khoa, Mã CM, Mã CV làm khóa ngoài
các trường này nhận giá trị tương ứng từ các bảng Xã, Khoa, Chuyên môn,
Chức vụ.
4.10. Bảng Dòng Khám Bệnh
Dòng Khám Bệnh (Mã Khám Bệnh, Mã Nhân Viên, Mã bệnh nhân, Mã Bệnh,

Mã Vị trí, Ngày KB, Nội Dung KB, Chi Phí KB)
Tên trường Loại dữ liệu Mô tả Kích thước
Mã khám bệnh Char Mã khám bệnh Len()=9
Mã nhân viên Char Mã nhân viên Len()=5
Mã bệnh nhân Char Mã bệnh nhân Len()=9
Mã bệnh Char Mã bệnh Len()=5
Mã Vị Trí Char Mã vị trí Len()=2
Ngày KB Date Ngày khám bệnh
Nội dung KB Char Nội dung khám bệnh 50
Chi phí KB Money Chi phí khám bệnh>0
Giải thích
+ Bảng dòng khám bệnh là mối kết hợp giữa các thực thể nhân viên, bệnh
nhân, bệnh, vị trí nên nó nhận tất cả các khóa của các theca thể tham gia vào
mối kết hợp làm khóa chính, các giá trị của các trường này được lấy tương
ứng từ các bảng tương ứng. Ngoài ra nó còn có khóa riêng là Mã khám bệnh
- Ngày KB không được sau ngày hiện tại
- Chi phí KB là khoản tiền mà bệnh nhân phải trả sau khi khám bệnh khoản
này không được nhỏ hơn 0.
4.11. Bảng bệnh nhân
bệnh nhân (Mã Bênh Nhân, Họ bệnh nhân, Tên bệnh nhân, Ngày Sinh BN,
Giới Tính BN, Mã Xãc
Tên trường Loại dữ liệu Mô tả Kích thước
Mã bệnh nhân Char Mã bệnh nhân Len()=9
Họ bệnh nhân Char Họ bệnh nhân 20
Tên bệnh nhân Char Tên bệnh nhân 10
Ngày sinh BN Date Ngày sinh bệnh nhân
Giới tính BN Boolear Giới tính bệnh nhân
Mã xã Char Mã xã Len()=6
Giải thích
+ Bảng bệnh nhân lưu trữ tất cả các thông tin về bệnh nhân

- Mã bệnh nhân gồm 9 ký tự 4 ký tự đầu là năm mà bệnh nhân đó khám, còn
lại 5 ký tự sau là thứ tự bệnh nhân đó đến khám trong năm
- Ngày sinh bệnh nhân không được sau ngày hiện tại và tuổi bệnh nhân
không được lớn hơn 150
- Giới tính bệnh nhân là True tương ứng với Nam, False tương ứng với Nữ
- Bảng bệnh nhân nhận mã xã làm khóa ngoài, trường này nhận giá trị từ
bảng Xã
4.12 Bảng bảo hiểm y Tế
bảo hiểm y tế (Mã bệnh nhân, Số thẻ BHYT, Ngày bắt đầu, Ngày kết thúc,
Phần trăm)
Tên trường Loại dữ liệu Mô tả Kích thước
Mã bệnh nhân Char Mã bệnh nhân Len()=9
Số thẻ BHYT Char Số thẻ bảo hiểm y tế Len()=9
Ngày bắt đầu Date Ngày bắt đầu
Ngày kết thúc Date Ngày kết thúc
Phần trăm Int Phần trăm
Giải thích
+ Bảng Bảo hiểm y tế lưu thông tin về BHYT của các bệnh nhân có thẻ
BHYT
- Thực thể bảo hiểm y tế là thực thể chuyên biệt hóa của thực thể bệnh nhân
nên nhận khóa của thực thể bệnh nhân là mã bệnh nhân làm khóa chính
- Trường Số Thẻ BHYT là số thẻ bảo hiểm y tế để xác định thẻ đó là của ai
- Trường ngày bắt đầu là ngày mà thẻ bảo hiểm y tế có hiệu lực ngày này
không được sau ngày kết thúc và sau ngày hiện tại
- Trường ngày kết thúc là ngày mà thẻ bảo hiểm y tế không còn hiệu lực
(ngày này thường cách ngày bắt đầu một năm).
- Trường phần trăm là một số nguyên nằm trong khoảng (1 100)
4.13. Bảng Cơ Quan
Cơ Quan (Mã cơ quan, Tên cơ quan, Điện thoại CQ, Fax cơ quan)
Tên trường Loại dữ liệu Mô tả Kích thước

Mã cơ quan Char Mã cơ quan Len()=6
Tên cơ quan Char Tên cơ quan 30
Điện thoại CQ Char điện thoại cơ quan 15
Fax cơ quan Char Fax cơ quan 15
Giải thích
+ Bang cơ quan lưu trữ thông tin về cơ quan mà những bệnh nhân có BHYT
thuộc một cơ quan nào đó
- Trường điện thoại cơ quan và trường fax cơ quan chứa điện thoại và fax cơ
quan và hai trường này cho phép Null
4.14. Bảng Cán Bộ
Cán Bộ (Mã bệnh nhân, Mã Cơ Quan)
Tên trường Loại dữ liệu Mô tả Kích thước
Mã bệnh nhân Char Mã bệnh nhân Len()=9
Mã cơ quan Char Ma cơ quan Len()=6
Giải thích
+ Bảng cán bộ là thực thể chuyên biệt hóa của thực thể bảo hiểm y tế nên nó
nhận thuộc tính khóa của thực thể này làm khóa ngoài ra để xác định Cán Bộ
đó thuộc cơ quan nào thi bảng này phải nhận thêm khóa của thực thể cơ quan
làm khóa chính. Hai trường này lấy giá trị từ trường Mã bệnh nhân trong bảng
bệnh nhân và trường Mã Cơ Quan trong bảng Cơ Quan
4.15 Bảng Tạm ứng
Tạm ứng (Mã tạm ứng, Lần T.Ư, Số Tiền, Ngày T.Ư, Mã bệnh nhân)
Tên trường Loại dữ liệu Mô tả Kích thước
Mã tạm ứng Char Mã tạm ứng Len()=11
Lần tạm ứng Int Lần tạm ứng
Số tiền Money Số tiền tạm ứng
Ngày tạm ứng Date Ngày tạm ứng
Mã bệnh nhân Char Mã bệnh nhân Len()=9
Giải thích
+ Bảng Tạm ứng lưu trữ thông tin về số tiền mà bệnh nhân đã tạm ứng cho

bệnh viện, số lần tạm ứng, mỗi lần số tiền là bao nhiêu,
- Mã tạm ứng gồm có 11ký tự 9 ký tự đầu là mã bệnh nhân lấy từ bảng bệnh
nhân, hai ký tự tiếp theo là số lần mà bệnh nhân đó tạm ứng.
- Lần tạm ứng là lần mà bệnh nhân đóng một phần viện phí trong thời gian
điều trị tại bệnh viện.
- Trường số tiền là số tiền bệnh nhân tạm ứng tương ứng với lần ở trên
- Ngày tạm ứng là ngày mà bệnh nhân đóng tạm ứng, ngày này phải sau ngày
nhập viện, và phải trước hoặc trùng với ngày hiện tại.
- Để xác định lần tạm ứng đó là của ai thì bảng này nhận Mã bệnh nhân làm
khóa ngoài
4.16 Bảng Bệnh án
Bệnh án (Mã khám bệnh, Mã nhân viên, Mã bệnh nhân, Mã bệnh, Mã vị trí,
Mã nơi Đ.T, Ngày vào, Ngày ra, Tình trạng ra)
Tên trường Loại dữ liệu Mô tả Kích thước
Mã khám bệnh Char Mã khám bệnh Len()=9
Mã nhân viên Char Mã nhân viên Len()=5
Mã bệnh nhân Char Mã bệnh nhân Len()=9
Mã bệnh Char Mã bệnh Len()=5
Mã vị trí Char Mã vị trí Len()=2
Mã nơi Đ.T Char Mã nơi điều trị Len()=2
Ngày vào Date Ngày bệnh nhân nhập viện
Ngày ra Date Ngày bệnh nhân ra viện
Tình trạng ra Char Tình ra viện của bệnh nhân 50
Giải thích
+ Bệnh án là mối kết hợp được sinh ra từ mối kết hợp Dòng Khám Bệnh nên
nó nhận tất cả các khóa chính của bảng Dòng Khám Bệnh và nó có Khóa riêng
của nó (Mã Bệnh án) ngoài ra thực thể Nơi Điều Trị cũng tham gia vào mối
kết hợp này nên nó nhận thêm khóa của thực thể này làm khóa
- Ngày vào là ngày mà bệnh nhân nhập viên ngày này không được sau ngày
ra hoặc sau ngày hiện tại

- Ngày ra là ngày mà bệnh nhân được xuất viện ngày này cũng phải trước
hoặc trùng với ngày hiện tại
- Tình trạng ra là nhận xét của bác sĩ khi bệnh nhân xuất viện
4.17 Bảng Nơi Điều Trị
Nơi Điều Trị (Mã nơi Đ.T, Tên nơi Đ.T, Đơn giá)
Tên trường Loại dữ liệu Mô tả Kích thước
Mã nơi Đ.T Char Mã nơi điều trị Len()=2
Tên nơi Đ.T Char Tên nơi điều trị 30
Đơn giá Money Đơn giá nơi điều trị
Giải thích
+ Nơi điều trị là nơi mà bệnh nhân điều trị khi ở bệnh viện.
- Đơn giá nói điều trị luôn nhận giá trị lớn hơn 0
4.18 Dịch Vụ Dùng
Dịch Vụ Dùng (Mã khám bệnh, Mã nhân viên, Mã bệnh nhân, Mã bệnh,
Mã vị trí, Mã nơi Đ.T, Mã dịch vụ, Lần dùng)
Tên trường Loại dữ liệu Mô tả Kích thước
Mã khám bệnh Char Mã khám bệnh Len()=9
Mã nhân viên Char Mã nhân viên Len()=5
Mã bệnh nhân Char Mã bệnh nhân Len()=9
Mã bệnh Char Mã bệnh Len()=5
Mã vị trí Char Mã vị trí Len()=2
Mã nơi Đ.T Char Mã nơi điều trị Len()=2
Mã dịch vụ Char Mã dịch vụ Len()=2
Lần dùng Int Lần dùng dịch vụ
Giải thích
+ Thực thể dịch vụ dùng là chuyển từ mối kết hợp giữa Bệnh án với dùng
dịch vụ nên nó phải nhận tất cả các khóa của bệnh án làm khóa chính ngoài ra
nó còn nhận khóa của thực thể Dịch Vụ làm khóa chính (M• Dịch Vụ).
- Lần dùng là lần mà bệnh nhân đó dùng một loại dịch vụ
4.19. Bảng Dịch Vụ

Dịch Vụ (Mã dịch vụ, Tên dịch vụ, Đơn giá DV)
Tên trường Loại dữ liệu Mô tả Kích thước
Mã dịch vụ Char Mã dịch vụ Len()=2
Tên dịch vụ Char Tên dịch vụ 30
Đơn giá D.V Money Đơn giá dịch vụ
Giải thích
+ Bảng dịch vụ lưu trữ những thông tin về những dịch vụ mà bệnh viện có
- Đơn giá dịch vụ không được nhỏ hơn 0
4.20. Bảng Thuốc Dùng
Thuốc Dùng (Mã khám Bệnh, Mã nhân viên, Mã bệnh nhân, Mã bệnh,
Mã vị trí, Mã thuốc, Số lượng, Liều dùng)
Tên Trường Loại Dữ Liệu Mô Tả Kích Thước
Mã khám bệnh Char Mã khám bệnh Len()=9
Mã nhân viên Char Mã nhân viên Len()=5
Mã bệnh nhân Char Mã bệnh nhân Len()=9
Mã bệnh Char Mã bệnh Len()=5
Mã vị trí Char Mã vị trí Len()=2
Mã thuốc Char Mã thuốc Len()=4
Số lượng Int Số lượng thuốc dùng
Liều dùng Char Liều lượng thuốc dùng
Giải thích
+ bảng thuốc dùng là mối kết hợp được sinh ra từ mối kết hợp khám bệnh
(thực thể dòng khám bệnh) nên nó nhận khóa của thực thể dòng khám bệnh
làm khóa đồng thời nó nhận thuộc tính khóa của thực thể thuốc làm khóa.
+ Thực thể này kết hợp với thực thể dòng khám bệnh và thực thể thuốc để tạo
thành đơn thuốc.
- Số lương là số lượng một loại thuốc được cấp trong một đơn thuốc
- Liều dùng công thức dùng thuốc
4.21 Bảng Thuốc
Thuốc (Mã Thuốc, Tên Thuốc, Đơn Giá)

Tên Trường Loại Dữ Liệu Mô Tả Kích Thước
Mã Thuốc Char Mã thuốc Len()=9
Tên Thuốc Char Tên thuốc 30
Đơn Giá Money Đơn giá thuốc
Giải thích
+ Bảng thuốc lưu trữ thông tin về thuốc
Chương IV. Thực hiện Cài đặt hệ thống
i. cách kết nối dữ liệu
Trong chương trình em thực hiện kết nối thông qua đối tượng ADO
(ActiveX Data Object), đối tượng này cung cấp hầu hết các công cụ để thực
hiện kết nối với cơ sở dữ liệu
ADO Interface: Các đối tương ADO giao tiếp với dữ liệu thông qua ODBC
(Open Database Connectivity), chúng có thể giao tiếp với bất kỳ loại dữ liệu
nếu như ODBC driver hỗ trợ.
Thực hiện kết nối với cơ sở dữ liệu: Như phần tổng quan ngôn ngữ ta đã nói
để đối tượng ADO kết nối được với cơ sở dữ liệu (hay để ứng dụng có thể
hoạt động xử lý trên cơ sở dữ liệu) ta phải viết mã lệnh cho công cụ này kết
nối với cơ sở dữ liệu. Cụ thể để kết nối với cơ sở dữ liệu dbBenhNhan ta làm
như sau:
Public cn As ADODB.Connection
Public Sub OpenDb()
Set Cn = New ADODB.Connection
Cn.Provider = "SQLOLEDB.1;"
Cn.ConnectionString = " Provider=SQLOLEDB.1;Integrated
Security=SSPI;Persist Security Info=False;Initial Catalog=DbBenhNhan"
Cn.Open
End Sub
Trong modul trên ta khai báo biến Cn là toàn cục cấp modul, Cn có kiểu
đối tượng ADODB.Connection tức đối tượng này dùng để kết nối với cơ sở dữ
liệu và đối tượng này có thể được gọi ở mọi nơi trong chương trình.

II. các phương thức đối tượng ADODb
- Open method: Được sử dụng để mở một liên kết với Database. Ngay sau
khi tạo instance cho conection object ta có thể mở một kết nối với datasour
để truy suất dữ liệu.
- Execute method: Cho phép thực thi một câu lệnh tác động trên datasour.
Trong đó commandText là chuỗi lệnh cần thực hiện, thông qua tham số option
các giá trị khác nhau quy định loại commandText.
Giá trị Danh hiệu hằng tương ứng Loại của CommandText
0 AdCmdUnknown Mặc định khi định nghĩa
1 AdCmdText Là một câu lệnh, VD: câu lệnh SQL
2 AdCmdTable Tên của table mà ta sẽ tạo Recordset
3 AdCmdStoreProc Một Stor Procedure trong datasour
Thông thường các giá trị trên được gắn sẵn vào các danh hiệu hằng và được
lưu trữ trong file Include có tên là adovbs.inc.
Trong chương trình này em sử dụng giá trị mặc định tức adCmdUnknown
- Close method: phương thức này dùng để đóng các kết nối được chỉ ra sau
câu lệnh. Ta cũng có thể set đối tượng này về nothing
Ngoài ra Visual Basic còn cung cấp một dịch vụ kết nối bằng Data
Environment rất tiện lợi đây cũng là một dạng kết nối ADO rất dễ sử dụng, tất
cả hầu như được thực hiện qua giao diện đồ họa. Trong Data Environment có
thể lưu trữ các bảng (Table), lưu trữ các thủ tục lưu trữ (Stor Procedure) cũng
như các hàm (Function) và các bảng ảo (View) khác
III. Một số modul chính của chương trình
Để hiển thị dữ liệu trong trong một Table ta sử dụng đối tưởng Listview đối
tượng này tương đối tiện lợi để hiển thị dữ liệu cụ thể như sau:
Private Sub Display_Listview()
Dim rs As New ADODB.Recordset
Dim Str
Dim mItem As listItem
listItem.ListItems.Clear

Str = "select * from tblTinh order by Matinh asc"
Set rs = cn.Execute(Str) 'Thuc Hien Mot Lenh SQL duoc chi ra boi str
If rs.EOF = False Then
While Not rs.EOF
Set mItem = listItem.ListItems.Add(, , rs!MaTinh)
mItem.SubItems(1) = rs!TenTinh
rs.MoveNext
Wend
End If
End Sub
Trong đó listItem là đối tượng Listview có chức năng hiển thị dữ liệu, biến rs
có kiểu Recordset để lưu trữ dữ liệu trong một Recor (dữ liệu trong bảng).
Trong đoạn chương trình trên ta còn sử dụng phương thức Set rs =
cn.Execute(Str) để thực hiện câu truy vấn (SQL) trong ngoặc, câu truy vấn này
lấy về dữ liệu được cất trong biến Record (rs) và được hiển thị trên Listview.

Để thêm mới dữ liệu vào một Table trong chương trình ta sử dụng đối tượng
Data Environment đối tượng này cho phép gọi các hàm hoặc các thủ tục như
cách gọi của Visual Basic. Dưới đây là ví dụ cách gọi một hàm có tên
Sp_NhapTinh có chức năng thêm một tỉnh mới
DE.Sp_NhapTinh MaTinh, TenTinh
Trong đó DE là đối tượng Data Environment và hàm Sp_NhapTinh là hàm
(có thể là các thủ tục thậm chí là một View) được viết và lưu trong cơ sở dữ
liệu.
Tương tự với các thủ tục khác cũng được thực hiện bằng cách gọi như trên,
tuy nhiên đối với thủ tục xóa dữ liệu trong một Table lại là một việc khá phức
tạp bởi việc này còn liên quan đế một số ràng buộc về khóa. Ví dụ việc xóa
một tỉnh thành, ta phải đi xóa toàn bộ các huyện, xã trực thuộc tỉnh đó, không
những vậy ta còn phải xóa tất cả các bệnh nhân và nhân viên cùng các giấy tờ
có liên quan, cụ thể ta có mã lệnh như sau:

CREATE PROCEDURE Sp_XoaTinh
@MaTinh Char(2)
AS

Xoa Tat ca can bo la benh nhan truc thuoc tinh
Delete From tblCanBo
Where tblCanBo.MaBenhNhan
in( Select MaBenhNhan
From tblBenhNhan
Where tblBenhNhan.MaXa
in(Select MaXa
From tblXa
Where tblXa.MaHuyen
in(Select MaHuyen
From tblHuyen
Where tblHuyen.MaTinh=@MaTinh)))

Xoa Tat ca cac bao hiem y te cua benh nhan thuoc tinh
Delete From tblBaoHiemYTe
Where tblBaoHiemYte.MaBenhNhan
in( Select MaBenhNhan
From tblBenhNhan
Where tblBenhNhan.MaXa
in(Select MaXa
From tblXa
Where tblXa.MaHuyen
in(Select MaHuyen
From tblHuyen
Where tblHuyen.MaTinh=@MaTinh)))


Xoa tam ung cua cac benh nhan thuoc tinh
Delete From tblTamUng
Where tblTamUng.MaBenhNhan
in(Select MaBenhNhan
From tblBenhNhan
Where tblBenhNhan.MaXa
in(Select MaXa
From tblXa
Where tblXa.MaHuyen
in(Select MaHuyen
From tblHuyen
Where tblHuyen.MaTinh=@MaTinh)))

Xoa Dung dich vu ma benh an dung
Delete From tblDichVuDung
Where tblDichVuDung.MaBenhNhan
in(Select MaBenhNhan
From tblBenhNhan
Where tblBenhNhan.MaXa
in(Select MaXa
From tblXa
Where tblXa.MaHuyen
in(Select MaHuyen
From tblHuyen
Where tblHuyen.MaTinh=@MaTinh)))

Xoa Dung Dich Vu
Delete From tblDichVuDung
Where tblDichVuDung.MaNhanVien
in (Select MaNhanVien

From tblNhanVien
Where tblNhanVien.MaXa
in (Select MaXa
From tblXa
Where tblXa.MaHuyen
in(Select MaHuyen
From tblHuyen
Where tblHuyen.matinh=@MaTinh)))

Xoa Benh An cua Benh Nhan thuoc tinh tren
Delete From tblBenhAn
Where tblBenhAn.MaBenhNhan
in(Select MaBenhNhan
From tblBenhNhan
Where tblBenhNhan.MaXa
in(Select MaXa
From tblXa
Where tblXa.MaHuyen
in(Select MaHuyen
From tblHuyen
Where tblHuyen.MaTinh=@MaTinh)))

Xoa Benh An ma Nhan Vien lap
Delete From tblBenhAn
Where tblBenhAn.MaNhanVien
in (Select MaNhanVien
From tblNhanVien
Where tblNhanVien.MaXa
in (Select MaXa
From tblXa

Where tblXa.MaHuyen
in(Select MaHuyen
From tblHuyen
Where tblHuyen.matinh=@MaTinh)))


Xoa dong kham benh cua benh nhan
Delete From tblDongKhamBenh
Where tblDongKhamBenh.MaBenhNhan
in(Select MaBenhNhan
From tblBenhNhan
Where tblBenhNhan.MaXa
in(Select MaXa
From tblXa
Where tblXa.MaHuyen
in(Select MaHuyen
From tblHuyen
Where tblHuyen.MaTinh=@MaTinh)))

Xoa Dong Kham Benh Ma Nhan Vien kham
Delete From tblDongKhamBenh
Where tblDongKhamBenh.MaNhanVien
in (Select MaNhanVien
From tblNhanVien
Where tblNhanVien.MaXa
in (Select MaXa
From tblXa
Where tblXa.MaHuyen
in(Select MaHuyen
From tblHuyen

Where tblHuyen.matinh=@MaTinh)))

Xoa Thuoc ma Nhan vien cap cho don thuoc
Delete From tblThuocDung
Where tblThuocDung.MaNhanVien
in (Select MaNhanVien
From tblNhanVien
Where tblNhanVien.MaXa
in (Select MaXa
From tblXa
Where tblXa.MaHuyen
in(Select MaHuyen
From tblHuyen
Where tblHuyen.matinh=@MaTinh)))

Xoa thuoc dung cho benh nhan thuoc tinh
Delete From tblThuocDung
Where tblThuocDung.MaBenhNhan
in(Select MaBenhNhan
From tblBenhNhan
Where tblBenhNhan.MaXa
in(Select MaXa
From tblXa
Where tblXa.MaHuyen
in(Select MaHuyen
From tblHuyen
Where tblHuyen.MaTinh=@MaTinh)))

Xoa benh nhan thuoc tinh
Delete From tblBenhNhan

Where tblBenhNhan.MaXa
in(Select MaXa
From tblXa
Where tblXa.MaHuyen
in(Select MaHuyen
From tblHuyen
Where tblHuyen.MaTinh=@MaTinh))

Xoa Nhan Vien thuoc tinh
Delete From tblNhanVien
Where tblNhanVien.MaXa
in(Select MaXa
From tblXa
Where tblXa.MaHuyen
in(Select MaHuyen
From tblHuyen
Where tblHuyen.MaTinh=@MaTinh))

Xoa Xa truc thuoc tinh
Delete From tblXa
Where tblXa.MaHuyen
in(Select MaHuyen
From tblHuyen
Where tblHuyen.MaTinh=@Matinh)

Xoa Huyen trong tinh
Delete From tblHuyen
Where tblHuyen.MaTinh=@MaTinh

Xoa Tinh can Xoa

Delete From tblTinh
Where tblTinh.MaTinh=@Matinh

GO
Đối với các thủ tục xóa huyện, xã cũng tương tự như việc xóa một tỉnh nên
cũng phải xóa tất cả các dữ liệu có liên quan.
Để trình bày dữ liệu em dùng view để kết nối các bảng. Ví dụ đối với view
địa chỉ la sự kết nối của ba bảng Tỉnh, Huyện, Xã như sau:
CREATE VIEW dbo.vwDiaChi
AS
SELECT dbo.tblTINH.TenTinh, dbo.tblHUYEN.TenHuyen,
dbo.tblXA.TenXa, dbo.tblXA.Maxa
FROM dbo.tblHUYEN INNER JOIN
dbo.tblTINH ON dbo.tblHUYEN.MaTinh = dbo.tblTINH.MaTinh
INNER JOIN
dbo.tblXA ON dbo.tblHUYEN.MaHuyen = dbo.tblXA.MaHuyen
Để tìm kiếm dữ liệu trong chưng trình em sử dụng hàm tìm kiếm được xây
dựng sẵn trong cơ sở dữ liệu ví dụ tìm kiếm một bệnh nhân ta có đoạn truy
vấn sau:
CREATE FUNCTION udf_TimBenhNhanTheoHoTen
(@HoBenhNhan Char(20),
@TenBenhNhan char(20))
RETURNS Table

×