Bạn đã biết vê lập trình hướng thủ tục.Trong SQL cũng hổ trợ viết thủ tục.Nhìn chung nó cũng đơn giản.Thủ tục trong SQL cũng có thể mô tả như sau
a.Thủ tục không tham số
b.Thủ tục có tham số
c.Thủ tục không có tham số và không có trị trả về
d.Thủ túc có tham số và có giá trị trả về
Cú pháp:
1.Thục tục không có tham số
CREATE PROCEDURE (tên thủ tục)
AS (các câu lệnh SQL)
ví dụ:
Viết thủ tục liệt kê danh sách sinh viên của của lớp
create procedure sp_lietke
as
select * from lop_KT
Sau khi tạo xong thủ tục bạn chạy nó.
Để gọi thủ tục bạn thực hiện lệnh
EXECUTE sp_lietke
2.Thủ tục có tham số
Cú pháp
CREATE PROCEDURE (tên thủ tục)
(tham_so1 kiểu dữ liệu [giá trị khởi tạo],….)
AS
(câu lệnh sql)
Ví dụ:
Tìm sinh viên có first_name = “A” và last_name=”B”
create procedure sp_tim_sv(
@f_name varchar(30),@l_name varchar(30))
as
select * from tb_KT
where (first_name like @f_name)and(last_name like @l_name)
Thủ tục trên form:
1. Định nghĩa hàm trong một lớp nào đó (ví dụ lớp SV) để gọi thủ tục sp_tim_sv và truyền tham số.
public DataTable Fun_Tim_SV(string F_Name, string L_Name)
{
try
{
SqlParameter[] p =
{
new SqlParameter("@F_name",SqlDbType.NVarChar,100),
new SqlParameter("@L_Name",SqlDbType.NVarChar,100)
};
p[0].Value = F_Name;
p[1].Value = L_Name;
DataTable ds = ExecuteQuery(" sp_tim_sv", p);
return ds;
}
catch
{
return null;
}
}
Hàm này nếu tìm thầy thì sẽ trả về một bảng.
2. Gọi hàm này trong Form lấy kết quả đưa vào DataGridView để kiểm tra
dataGridView1.DataSource =SV.Fun_Tim_SV("A","B");
Nguồn: http://pacificocean1110.wordpress.com