1. Giới thiệu về Store Procedure (SP)
Store procedure là một trong những đối tượng rất quan trọng trong hệ quản trị cơ sở dữ liệu SQL Server (các bạn đừng nhầm với hệ quản trị cở sở dữ liệu My Sql nhé). Nó giúp cho chúng ta thực hiện những truy vấn từ đơn giản đến phức tạp
Store procedure có 2 dạng thức là dạng có đối số truyền vào (gọi là tham số) và dạng căn bản là dạng không tham số. Sử dụng SP để chúng ta quản lý và cập nhật code được dễ dàng và thuận lợi. Khi nào việc trong lập trình .Net thì không thể nào thiểu đối tượng này
2. Cách sử dụng
Cách khai báo một store procedure như sau:
Create procedure GetCustomer
AS
SELECT TOP 10 * FROM Customers
Giải thích:
Create procedure GetCustomer
AS
SELECT TOP 10 * FROM Customers
Giải thích:
- Create procedure là keyword bắt buộc
- GetCustomer là tên của procedure
- SELECT TOP 10 * FROM Customers là khối lệnh cần thực hiện của procedure GetCustomer
- Kết quả thực hiện đoạn mã trên cho ta được 10 records (mẫu tin) đầu tiên của bảng Customers
Lưu ý: bạn phải nhấn phím F5 để tạo store procedure
3. Làm việc đối tượng ADO của .Net và Store Procedure
Bây giờ chúng ta sử dụng store procedure trên và hiển thị kết quả truy vấn trên browser
3.1 Thiết kế
Bạn cần dùng 1 control gridview và đặt id là gvCustomers như hình bên dưới
3.2 Coding
Bạn phải viết một function tên GetTop10Customer để load 10 records này như sau
1
2
3
4
5
6
7
8
9
10
11
| private void GetTop10Customer() { string conn = "Data Source=.;Initial Catalog=Northwind;Integrated Security=True" ; SqlConnection sqlCon = new SqlConnection(conn); string spGetCustomer = "GetCustomer" ; SqlDataAdapter daCustomer = new SqlDataAdapter(spGetCustomer, sqlCon); DataTable dtCustomer = new DataTable(); daCustomer.Fill(dtCustomer); gvCustomer.DataSource = dtCustomer; gvCustomer.DataBind(); } |
Giải thích
- Chuỗi kết nối như sau:
1
2
| string conn = "Data Source=.;Initial Catalog=Northwind;Integrated Security=True" ; stringspGetCustomer = "GetCustomer" |
- Lưu ý: GetCustomer chính là tên của GetCustomer mà bạn vừa viết trong sql server
- Xử lý dữ liệu bằng đối tượng SqlDataAdapter daCustomer = new
1
| SqlDataAdapter(spGetCustomer, sqlCon); |
- Quá trình load dữ liệu vào gridview
1
| daCustomer.Fill(dtCustomer); |
1
2
| gvCustomer.DataSource = dtCustomer; gvCustomer.DataBind(); |
4. Toàn cảnh code của trang như sau
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
| protected void Page_Load(object sender, EventArgs e) { GetTop10Customer(); } private void GetTop10Customer() { string conn = "Data Source=.;Initial Catalog=Northwind;Integrated Security=True" ; SqlConnection sqlCon = new SqlConnection(conn); string spGetCustomer = "GetCustomer" ; SqlDataAdapter daCustomer = new SqlDataAdapter(spGetCustomer, sqlCon); DataTable dtCustomer = new DataTable(); daCustomer.Fill(dtCustomer); gvCustomer.DataSource = dtCustomer; gvCustomer.DataBind(); } |
Kết quả 10 record đã được hiển thị
Comments[ 0 ]
Đăng nhận xét