Tải bản đầy đủ (.docx) (27 trang)

Báo cáo đồ án Stored Procedure trong SQL Server

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 (687.93 KB, 27 trang )

1

TRƯỜNG ĐHCN X
KHOA: ĐIỆNĐIỆN TỬ - CÔNG NGHỆ
THÔNG TIN

CỘNG HÒA XÃ HỘI CHỦ NGHĨA VIỆT NAM
Độc lập – Tự do – Hạnh phúc

NHẬN XÉT ĐỒ ÁN HỌC PHẦN 1
Chuyên ngành :Công nghệ thông tin
( Nhận xét của GV hướng dẫn

Nhận xét của GV phản biện

)

Họ tên sinh viên: X
Tên đề tài: Stored Procedure trong SQL
Người nhận xét (họ tên, học hàm, học vị): ………………………………………….
Đơn vị công tác (nếu có): ……………………...……………………………………
Ý KIẾN NHẬN XÉT
1. Về nội dung & đánh giá thực hiện nhiệm vụ nghiên cứu của đề tài:
…………………………………………………………………………………………………………………………
…………………………………………………………………………………………………………………………
…………………………
2. Về phương pháp nghiên cứu, độ tin cậy của các số liệu:
…………………………………………………………………………………………………………………………
…………………………………………………………………………………………………………………………
…………………………
3. Về kết quả của đề tài:


…………………………………………………………………………………………………………………………
…………………………………………………………………………………………………………………………
………………………….
4. Những thiếu sót và vấn đề cần làm rõ (nếu có):
…………………………………………………………………………………………………………………………
…………………………………………………………………………………………………………………………
…………………………
5. Ý kiến kết luận (mức độ đáp ứng yêu cầu đối với ĐA/KL tốt nghiệp)
…………………………………………………………………………………………………………………………
…………………………………………………………………………………………………………………………
…………………………
6. Câu hỏi người nhận xét dành cho học viên (nếu có):
…………………………………………………………………………………………………………………………
…………………………………………………………………………………………………………………………
…………………………


2

 Đánh giá điểm:
Kết luận:  Đồng ý /  Không đồng ý cho phép sinh viên được tham dự bảo vệ
kết quả trước hội đồng.
Ngày………tháng……..năm……..
NGƯỜI NHẬN XÉT
(chữ ký & họ tên)


3

LỜI CẢM ƠN

Để hoàn thành được đồ án này em xin được gửi lời cảm ơn chân thành đến
Các thầy cô trong trường Đại Học Công Nghiệp X nói chung và các th ầy cô trong
Khoa Điện Điện Tử - Công Nghệ Thông Tin nói riêng, đã giúp em học tập trong
suốt quá trình học tập tại trường trong 2 năm qua.
Cô giáo hướng dẫn đề tài – XX, Giảng viên Khoa Điện - Điện Tử - Công Nghệ
Thông Tin, Trường Đại Học Công Nghiệp X. Đã hết lòng giúp đỡ, hướng dẫn, chỉ
dẫn tận tình để em có thể hoàn thành được đề tài này.
Các bạn trong lớp CNTT1 và các anh chị khóa trên đã góp ý trong quá trình làm
đề tài để được hoàn chỉnh hơn.


4

LỜI NÓI ĐẦU
Giới thiệu chung:
Với sự phát triển mạnh của khoa học kĩ thuật trong cuộc sống ngày nay
thì công nghệ thông tin là một trong những ngành khoa học ngày càng đ ược quan
tâm và sử dụng rộng rãi trong mọi lĩnh vực của cuộc sống. V ới nh ững ưu đi ểm
mạnh có thể ứng dụng được nhiều trong cuộc sống công nghệ thông tin đã giúp
cho công việc quản lý được dễ dàng hơn. Để quản lý một công việc cụ th ể của
một cơ quan nào đó thì người quản lý thực hiện rất nhiều động tác. Nh ờ có các
phần mềm thì công việc đó trở nên đơn giản hơn rất nhiều.
Ví dụ như quản lý sinh viên của một trường , ta phải xây dựng một hệ
thống quản lý cơ sở dữ liệu về sinh viên. Do đó yêu cầu tin học hóa các quy trình
thực hiện trong quản lý là tất yếu, phục vụ việc kiểm tra thông tin sinh viên m ột
cách nhanh chóng.
Giới thiệu đề tài:
Chương trình Quản lý sinh viên được xây dựng trên phần mềm SQL Server
bằng nhưng ngôn ngữ mô tả dữ liệu, thao tác dữ liệu, truy v ấn d ữ li ệu, hay ngôn
ngữ hỏi đáp có cấu trúc và ngôn ngữ quản lý dữ liệu. Để đơn gi ản hơn cho các

câu lệnh thực hiện người ta đã sử dụng Stored Procedure – Thủ tục trong SQL
Server để gọi dữ liệu nhanh hơn và ngắn gọn các câu lệnh thực thi hơn.
Vậy đề tài của em là “ Stored Procedure trong SQL Server ” tìm hiểu về
thủ tục trong SQL.
Dù em đã hoàn thành xong Đồ án của mình nhưng vì sự hi ểu bi ết và kinh
nghiệm còn hạn chế nên vẫn còn nhiều thiếu sót. Rất mong nh ận đ ược các ý
kiến đóng góp của thầy cô và các bạn. Em xin chân thành cảm ơn !


5

NHẬT KÝ THỰC HIỆN ĐỀ TÀI
Thời gian
14/10/2018

Công việc

21/10

Nhận đề tài và giáo viên hướng dẫn
Nghiên cứu tài liệu tham khảo về đề
tài
Gặp giáo viên hướng dẫn

22/10

Tìm hiểu đề tài

23/10-28/10


Thực hiện demo chương trình

28/10

Gặp giáo viên hướng dẫn

29/10-15/11

Làm báo cáo đồ án

5/11

Gặp giáo viên hướng dẫn

16/11-22/11

Chỉnh sửa và hoàn thiện báo cáo

23/11

Gặp giáo viên hướng dẫn
Nộp báo cáo và đĩa CD cho giáo viên
hướng dẫn

16/10-20/10

24/11

Ghi chú



6

MỤC LỤC


7

DANH MỤC VIẾT TẮT
SP

Stored Procedure


8

MỞ ĐẦU
1. Đặt vấn đề :

Khi ta duyệt hay xử lý dữ liệu trong cơ sở dữ liệu SQL Server, ngôn ng ữ
(Structured Query Language ) là ngôn ngữ thực thi hi ệu qu ả nhất. Do đó, khi
tính toán với lượng lớn dữ liệu trong SQL Server, ta nên s ử dụng đ ối tượng
SP để xây dựng đoạn chương trình và giải quyết vấn đề nếu cần thiết.
2. Mục tiêu của đề tài :

Căn bản hiểu được Stored Procedure trong SQL Server. Tổng quan v ề th ủ tục
và phân loại được các loại thủ tục trong SQL.
Đưa ra được ít nhất 10 thủ tục minh họa.
Kết nối thủ tục với ngôn ngữ lập trình.
3. Kết quả đạt được của đề tài :


Sau quá trình nghiên cứu và thực hiện đề tài phải nêu được một số lợi ích
khi sử dụng thủ tục, phân dạng hai loại thủ tục là thủ tục hệ thống và thủ
tục do người dùng tạo ra.
Đưa ra các ví dụ cụ thể và liên kết CSDL trên SQL với ngôn ngữ l ập trình
VB.NET, gọi được các thủ tục lưu trữ trên SQL trong ngôn ngữ lập trình.
4. Bố cục đề tài :

Đề tài gồm 3 chương như sau:
Chương 1 Tổng quan về Stored Procedure
Chương 2 Phân loại các Stored Procedure
Chương 3 Ví dụ minh họa cơ bản


9

Chương 1 Tổng quan về Stored Procedure
1.1 Định nghĩa SP

SP là gì ?
Stored Procedure : “A precomplied collection of Transact-SQL statements
stored under a name and processed as unit. SQL Server supplies stored
procedures for managing SQL Server anh displaying information about
database and users”.
SP hay còn gọi là các thủ tục lưu trữ trong SQL.
Là tập hợp của các câu lệnh T-SQL(Transact-SQL) được biên dịch trước
(pre_compiled). SP được đặt tên và được xử lý như một khối lệnh th ống
nhất, chứ không phải thực hiện rời rạc các câu lệnh.
1.2 Đặc tính của SP


Store Procedure trong SQL cũng tương tự như khái niệm về thủ tục trong các
ngôn ngữ lập trình khác:


Cho phép truyền vào những tham số đầu vào và chấp nhận trả về các
giá trị chứa trong các tham số hoặc trả về các trạng thái giá tr ị đ ể g ọi
những thủ tục hoặc thực hiện các xử lý theo lô để biết việc th ực hi ện
thành công hay thất bại, nếu thất bại thì có thể đưa ra các nguyên nhân



thất bại.
Bao gồm các lệnh gọi thủ tục thực thi khác, chứa các lệnh SQL của

chương trình để thực hiện các xử lý trong database.
• Chấp nhận biến đầu vào và trả lại kết quả khi thực hiện.
Ta có thể dùng Transact – SQL EXCURTE để thực thi các SP. Các SP khác v ới
các hàm xử lý và giá trị trả về của chúng không chứa trong tên và chúng
không được sử dụng trực tiếp trong biểu thức.
Lưu ý : SP khác với Funcions : chúng không thể trả về giá trị trực tiếp
trong Biểu Thức.
1.3 Lợi ích của SP

Tăng tốc độ thực hiện: Đây là lợi ích lớn nhất khi sử dụng Store Procedure.
Store Procedure có khả năng phân tích cú pháp và t ối ưu hóa trong l ần th ực
thi đầu tiên và một phiên bản dịch của chúng trong đó sẽ đ ược l ưu trong b ộ
nhớ để sử dụng cho lần sau. Nghĩa là trong những lần thực hi ện sau chúng
không cần phải phân tích cú pháp và tối ưu lại, mà chúng sẽ sử dụng kết quả



10

được biên dịch trong lần đàu tiên. Do đó Store Procedure có khả năng th ực
thi nhanh hơn là việc xử lý một đoạn lệnh Transact-SQL l ớn,l ặp.
Tốc độ truy cập dữ liệu nhanh hơn: SQL sẽ làm việc hiệu quả hơn nếu dùng
Store Procedure vì người gửi chỉ gửi một câu lệnh đơn và SQL Sever ch ỉ ki ểm
tra một lần sau đó tạo ra một execute plan và th ực thi. N ếu Store Procedure
được gọi nhiều lần thì execute plan có thể sử dụng lại nên sẽ làm vi ệc nhanh
hơn.
Chương trình được modul hóa: Một khi Store Procedure được tạo ra nó có
thể sử dụng lại. Điều này sẽ làm cho việc bảo trì dễ dang hơn do vi ệc tách
rời giữa những logic bên trong Store Procedure và cơ s ở dữ li ệu.
Tính nhất quán: Lợi ích nữa của Store Procedure là thiết đặt được ràng buộc
dữ liệu để đảm bảo tính nhất quán. Người sử dụng không thể thực hi ện tùy
tiện dữ liệu để làm mất tính đúng đắn của dữ liệu.
Nâng cao khả năng bảo mật dữ liệu: Giả sử chúng ta muốn giới hạn việc truy
xuất dữ liệu trực tiếp của một user nào đó vào một số bảng, ta có thể viết
một Store Procedure để truy xuất dữ liệu và chỉ cho phép user đó được sử
dụng Store Procedure đã viết sẵn mà thôi chứ không thể thao tác trực ti ến
trên các bảng đó. Ví dụ, ta có thể tạo ra Store Procedure để ta làm ch ủ và ch ỉ
cung cấp quyền EXCUTE cho những Store Procedure này, vì th ế nh ững ng ười
sử dụng khác không được phép trực tiếp làm việc với dữ liệu. Ngoài ra Store
Procedure có thể được mã hóa để tăng cường tính bảo mật.


11

Chương 2 Phân loại các Stored Procedure
2.1 Các loại Stored Procedure


SP trong SQL được chia làm 5 loại như sau
2.1.1 System stored procedure

Có trong master database và thường bắt đầu bằng “sp_ “, được truy xu ất từ
bất kì một database nào, nhằm cung cấp các thông tin system catalog ho ặc
thực hiện các nhiệm vụ của administration.
2.1.2 Local stored procedure

Hay gọi là User-defined Store Procedure ( thủ tục do người dung tạo ra).
Được lưu trữ trong các CSDL người dùng, nó thực thi các tác vụ trong CSDL
chứa nó và được người sử dụng tạo ra hay từ hệ thống.
2.1.3 Temporary store procedure

Giống local Store Procedure nhưng nó chỉ hiện hữu cho đến khi kết n ối tạo
ra nó bị đóng. Nó được nằm trong CSDL TempDB. Có 3 loại tempory Store
Procedure: local (private), Global, Store Procedure tạo trực ti ếp trong
TemDB. Không còn tồn tại sau khi SQL Server shutdown.
2.1.4 Extended stored procedure

Là một thủ tục được tạo từ các ngôn ngữ lập trình khác ( không ph ải SQL
server) và nó được triển khai tính năng của một th ủ tục trong SQL Server.
Các thủ tục này có tên bắt đầu là xp_.
2.1.5 Remote strored procedure

Là một thủ tục được gọi thực thi từ một server từ xa.
Sau đây chúng ta đi nghiên cứu chủ yếu về 2 loại cụ th ể th ường hay s ử d ụng
là: System Store Procedure ( thủ tục hệ thống ) và User-defined Store
Procedure ( thủ tục do người dung tạo ra ).



12
2.2 System Stored Procedure:

“A set of SQL Server-supplied stored procedures that can be used for actions
such as retrieving information from the system catalog or performing
adminstration task”.
Là những SP chưa trong Master Database và thường bắt đầu bằng ti ếp đầu
ngữ sp_.
Các Store Procedure này thuộc loại built-in và chủ yếu dùng trong vi ệc qu ản
lý cơ sở dữ liệu (administration) và bảo mật (security).
Người ta có thể chia các System Store Procedure thành các loại nhóm nh ư
sau:


SP dùng để liệt kê thông tin ( liệt kê danh sách database, li ệt kê



danh sách Linked Servers, …)
SP dùng để trình bày thông tin (trình bày thông tin Table, li ệt kê



thông tin của SP, liệt kê danh sách đối tượng Trigger, ..)
SP dùng để Thêm, Xóa, Cập nhật thông tin ( thay đổi Chủ Nh ận C ủa
Database, Thay đổi Default Database, đổi mật khẩu, …)

Có rất nhiều System SP trong SQL Server. Sau đây là m ột s ố th ủ tục th ường
dùng.


System Store
Procedure

Chức năng

sp_Databases

Danh sách những Database có thể (avaible) trên
Server (Danh sách này sẽ là khác nhau tùy thu ộc vào
quyền của người sử dụng)

sp_server_info

Chi tiết thông tin về Server, ví dụ như tập các đặc
tính, phiên bản…

sp_stored_procedur
es

Danh sách tất cả các thủ tục có thể trên môi trường
hiệ n tại

sp_tables
sp_start_job

Danh sách tất cả các bảng có thể trên môi trường
hiện tại
Khởi động tất cả các automated task ngay lập tức

sp_stop_job


Ngừng lại tất cả các automated task đang chạy

sp_password

Thay đổi password cho login account


13

sp_configure

Thay đổi lựa chọn cấu hình chung của SQL Sever. Khi
người sử dụng không lựa chọn thì hệ thống sẽ hiển
thị cấu hình mặc định

sp_help

Hiển thị thông tin về bất kỳ đối tượng nào trong
Database
Hiển thị nội dung (text) của các đối tượng

sp_helptext

Các tác vụ Quản trị (administration tasks) bao g ồm : Li ệt kê, Thêm, C ập
nhật, Xóa đối tượng Cở Sở Dữ Liệu.
Để thực thi một SP, ta sử dụng lệnh EXEC.
Dưới đây là danh sách các thủ tục hệ thống khi mở ra trong một Database và
các thủ tục này nằm trong thư mục Programmability.



14

Ngoài ra, SQL server còn cung cấp một số Thủ tục Hệ Th ống m ở r ộng, v ới
tên tiền tố là xp_...
Ví dụ : xp_smdshell ( Liệt kê danh sach Thư Mục và Tập tin )
2.3 User-Defined Stored Proceudre:

Là các SP do người sử dụng xây dựng.
Khi một thủ tục được tạo ra, tên thủ tục được viết vào bảng hệ th ống
sysobjects, nội dung của thủ tục thì được lưu trong bảng hệ th ống
syscomments.
Thủ tục khi chạy lần đầu hay được biên dịch lại sẽ theo 3 bước sau:
Relution – Công cụ xử lý truy vấn (query processor) đọc và ki ểm tra
lỗi chính tả của thủ tục.
• Optimixation – Công cụ tối ưu hóa truy vấn phát tri ển một execution
plan cho các lệnh trong thủ tục.
• Compilation – trong quá trình biên dịch, thủ tục được phân tích và
execution plan được tạo ra. Excution plan được nạp vào bộ nhớ
(procedure cache)


Một số quy tắc khi tạo SP :
Mỗi thủ tục chỉ nên hoàn thành 1 nhiệm vụ.
Lệnh tạo thủ tục không thể chứa các lệnh CREATE VIEW, CREATE DEFAULT,
CREATE RULE hay CREATE TRIGGER.
Một thủ tục không thể tạo/ xóa 1 đối tượng rồi l ại tham chi ếu đ ến đ ối
tượng đó.
Các thủ tục có thể tham chiếu đến các bảng tạm thời.
Có thể tham chiếu đến các đối tượng từ các CSDL khác và server từ xa.

Cho phép các thủ tục đệ quy – thủ tục có thể gọi chính nó.
Nhiều nhất là 2100 Parameters trong Store procedure.
Các thủ thục có thể được gọi lồng nhau tối đa tới 32 mức.
Kích cỡ cực đại của một thủ tục là 128 MB, và còn tùy thuộc vào bộ nhớ.
Tạo bằng SQL Server Management Studio (SSMS) các bước đ ể t ạo nh ư hình
sau.


15

Tạo bằng script :
Cú pháp tạo như sau.
CREATE { PROC | PROCEDURE} < tên thủ tục >
[ < Danh sách tham số > ]
[VARYING] [= default] [OUTPUT]
[ WITH [ RECOMPLILE ] [, ENCRYPTION ] [, mệnh đề EXCECUTE AS> ] ]
[ FOR REPLICATION ]
AS < Các câu lệnh SQL >
Giải thích :
Default:
Giá trị mặc nhiên, nếu tham số có giá trị mặc nhiên thì khi th ực hi ện
procedure, có thể user không cần truyền tham s ố vào khi th ực thi (nó sẽ có
giá trị default).
Có hai loại tham số đó là tham số đầu vào và tham s ố đầu ra. Tham s ố đ ầu
vào thì được chia thành tham số bắt buộc (Bắt buộc phải truy ền gía tr ị cho
tham số này, tham số tùy chọn.Đã được gán giá trị mặc định, n ếu không


16


truyền gái trị trong lời gọi thủ tục tham s ố sẽ nhận giá tr ị m ặc đ ịnh). Tham
số đầu ra ( Sử dụng đề lấy kết quả trả về từ thủ tục, khai báo bằng từ khóa
OUTPUT)
Cú pháp :“@<tham số 1> <kiểu dữ liệu> [=<mặc định>][OUTPUT | OUT]
L@<tham số 2> <kiểu dữ liệu> [=<mặc định>][OUTPUT | OUT]]…”
OUTPUT:
nếu parameter nào đó được khai báo là Output, thì Parameter đó là 1 “return
parameter”. Dùng Output Parameter để trả về thông tin khi gọi SP.
Recompile:
SP sẽ được biên dịch lại trong lúc thực thi (run time). Dùng tùy ch ọn
“recompile” khi ta dùng các giá trị tạm hoặc các giá trị không điển hình
(atypical values) mà không muốn ghi đè (override) lên execution plan
(bảng thực thi) được trữ sẵn trong bộ nhớ.
Encryption:
SQL_Server sẽ mã hóa (Encrypt) Danh mục ( trong table syscomments) có
chứa nội dung của các câu lệnh Create Proc. Dùng để ngăn không cho Th ủ
tục bị xuất (published) thành 1 phần bản sao của SQL Server.
For Replication:
một SP được tạo kèm theo tùy chọn “ For Replication”, sẽ được dùng nh ư 1
bộ lọc SP và chỉ thực thi trong quá trình Replication. Không sử dụng cùng với
tùy chon “ WITH RECOMPILE”.
VARYING:
chỉ định kết quả của tham số trả về là một result set. Ch ỉ được áp d ụng cho
cursor parameters.
Ngoài ra còn có cú pháp của câu lệnh DROP PROC (Xóa th ủ tục) và cú pháp
câu lệnh ALTER PROC (Sửa thủ tục) :
“DROP {PROC | PROCEDURE}<tên thủ tục>[,…]”
“ALTER {PROC | PROCEDURE}<tên thủ tục>
[<Danh sách tham số>]
[WITH [RECOMPILE] [, ENCRYTION] [, <mệnh đề EXECUTE AS>]]

AS <Các câu lệnh SQL>”


17

Chương 3 Ví dụ minh họa cơ bản
3.1 Ví dụ về System SP

Ví dụ 1:
Thực thi các danh sách database có trong SQL :
Exec sp_databases
Chọn !Excute Ta được kết quả như sau :

Hình 3. 1 Thực thi thủ tục sp_databases
Ví dụ 2 :
Chi tiết Thông tin về Sever, ví dụ như tập các đặc tính, phiên bản.
Exec sp_server_info


18

Hình 3. 2 Thực thi thủ tục sp_server_info
Ví dụ 3 :
Danh sách tất cả các thủ tục có thể có trên môi trường hiện tại
Exec sp_stored_procedures
Tương tự màn hình cho kết quả với các thủ tục

Hình 3. 3 Thực thi thủ tục sp_stored_procedure



19

Ví dụ 4:
Thực thi lấy danh sách tất cả các bảng có thể trên môi trường hiện tại
Exec sp_tables

Hình 3. 4 Thực thi thủ tục sp_tables
Ví dụ 5:
Hiện thị thông tin về bất kỳ đối tượng nào trong Database
Exec sp_help


20

3.1 Ví dụ về User-Define SP

Trước khi xây dựng các thủ tục em đã tạo một database có tên là QLNV g ồm hai
bảng: nhanvien và sanpham
Bảng nhanvien có danh sách các nhân viên và thông tin của từng nhân viên.

Tiếp theo là bảng sanpham hiện thông tin của từng khoa như mã mã hàng, tên
mặt hàng, số lượng


21

Sau đó xây dựng các thủ tục với ví dụ cụ thể như sau:
Ví dụ6: Hiện thông tin bảng nhanvien
Cú pháp:
USE QLNV

GO
Create proc Load_NV
as
begin
select * from nhanvien
end
Thực thi thủ tục Load_NV
Exec Load_NV

Ví dụ 7 Thêm thông tin nhân viên mới vào
Cú pháp
USE QLNV
GO
Create proc Them_NV
@manv nvarchar(50),
@tennv nvarchar(50),
@ngaysinh date,
@gioitinh nvarchar(50),


22

@diachi nvarchar(50),
@mahang nvarchar(50)
as
begin
insert into nhanvien (manv,tennv,ngaysinh,gioitinh,diachi,mahang) values
(@manv,@tennv,@ngaysinh,@gioitinh,@diachi,@mahang)
end
Thực thi thủ tục Them_NV

Exec Them_NV ‘NV11’,N’Việt’,’1990/10/20’, N’Nam’, N’Hà Nội’, ‘MH02’

Ví dụ 8 Sửa thông tin nhân viên
Cú pháp
USE QLNV
Go
Create proc Sua_NV
@manv nvarchar(50),
@tennv nvarchar(50),
@ngaysinh date,
@gioitinh nvarchar(50),
@diachi nvarchar(50),
@mahang nvarchar(50)
as
begin
update nhanvien set
manv=@manv,tennv=@tennv,ngaysinh=@ngaysinh,gioitinh=@gioitinh,diachi=@d
iachi,mahang=@mahang
where manv=@manv
end
Thực thi thủ tục Sua_NV


23

Exec Sua_NV ‘NV11’, N’Hòa’, ’1990/10/21’, N’Nữ’, N’Hà Nội’, ‘MH03’

Ví dụ 9 Xóa thông tin một nhân viên
Cú pháp
USE QLNV

GO
Create proc Xóa_NV
@manv nvarchar(50)
as
begin
delete from nhanvien
where manv=@manv
end
Thực thi thủ tục Xoa_NV
Exec Xoa_NV ‘NV11’

Ví dụ 10 Tìm kiếm thông tin nhân viên
Cú pháp


24

USE QLNV
GO
Create proc Timkiem_NV
@manv nvarchar(50)
as
begin
select * from nhanvien
where manv=@manv
end
Thực thi thủ tục Timkiem_NV
Exec Timkiem_NV ‘NV05’

Như vậy năm thủ tục nêu trên là Load_NV, Timkiem_NV, Sua_NV, Them_NV,

xoa_NV đã được thực thi trên SQL Server. Tiếp theo sẽ liên kết CSDL trên SQL
Server với ngôn ngữ lập trình VB.NET và gọi các thủ tục lưu trữ trên SQL trong
ngôn ngữ lập trình.
3.1 Kết quả liên kết với ngôn ngữ lập trình VB.NET

Bước 1: Tạo ra một đối tượng SqlConnection để kết nối tới cơ sở dữ liệu. Sử
dụng đối tượng đó để kết nối tới một cơ sở dữ liệu máy chủ phục vụ SQL. L ấy
tên đối tượng đó là “conn”
SqlConnection
Source=CONGVIET;Initial
Security=True");

conn

=
new
SqlConnection(@"Data
Catalog=CSDLQuảnLýSinhViên;Integrated

Bước 2: Mở lớp kết nối và tạo ra một đối tượng SqlCommand đặt tên là cmd và
khai báo kiểu biến cho đối tượng đó :
Conn.Open();
SqlCommand cmd = new SqlCommand("—Tên thủ tục cần gọi --", conn);
cmd.CommandType = CommandType.StoredProcedure;


25

Bước 3: Viết các câu lệnh cần thiết, sau đó tạo câu l ệnh thực hi ện các câu l ệnh
vừa viết và đóng lớp kết nối lại.

Cmd.ExecuteNonQuery();
Conn.Close();
Sau khi đã liên kết và gọi các thủ tục đã xây dựng của cơ s ở dữ li ệu trong SQL
trên Windows Form ta được một Form Quản Lý Sinh Viên hoàn ch ỉnh thông tin
sinh viên của Bảng SinhVien với tác vụ tìm kiếm, thêm, sửa, xóa.


×