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

SE - Trang ď HD_Tuan9(C)

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

Hướng dẫn thực hành NMCNPM

HƯỚNG DẪN THỰC HÀNH TUẦN 9
Chủ đề: Gọi thực thi Stored Procedure
1. Mục đích
-

Kết nối và thực hiện các thao tác trên CSDL SQL Server.

-

Biết cách tham số hóa cho câu lệnh SQL.

-

Hiểu và vận dụng được cách thực thi các câu lệnh SQL thông qua Stored
Procedure.
o Stored Procedure không có kết quả trả về (parameter input)
o Stored Procedure có kết quả trả về (parameter output)

2. Cơ sở dữ liệu
-

Tạo CSDL SQL Server mới, tên CSDL là QLHocSinh. Tạo và thiết kế database
mới gồm hai bảng như sau:
HOCSINH
STT

Tên trường

Kiểu dữ liệu



1

MaHS

Varchar(10)

2

TenHS

Nvarchar(50)

3

NgaySinh

Date/Time

4

DiaChi

Nvarchar(250)

5

DTB

Real/float


6

MaLop

Varchar(10)

Ghi chú
PrimaryKey

ForeignKey (tham chiếu đến
Lop(MaLop)

LOP
STT

Tên trường

Kiểu dữ liệu

1

MaLop

Varchar(10)

2

TenLop


Nvarchar(100)

3

SiSo

int

Ghi chú
PrimaryKey

-

Hoặc import CSDL từ Access đã được tạo trong tuần trước (CSDL
QLHOCSINH.mdb).

-

Hướng dẫn cách import CSDL Access vào CSDL SQL Server:
1


Hướng dẫn thực hành NMCNPM

o Trước hết ta tạo một Database mới với tên QLHocSinh

o Từ Database QLHocSinh chọn Import Data…

o Chọn Next, Sau đó chọn dữ liệu nguồn (dữ liệu nguồn ở đây là Access)


2


Hướng dẫn thực hành NMCNPM

o Chọn Next, Chọn đích import (đã được mặc định là SQL Server)

o Chọn Next

3


Hướng dẫn thực hành NMCNPM

o Chọn Next

o Chọn các table muốn import vào CSDL SQL Server. Sau đó chọn Next.

3. Sử dụng lại ứng dụng trong tuần trước hoặc tạo ứng dụng mới:
-

Để kết nối với CSDL SQL Server, ta phải khai báo namespace như sau:
using System.Data.SqlClient;

-

Khai báo các đối tượng sau để thực hiện các thao tác với CSDL SQL Server:
SqlConnection connection;
SqlDataAdapter adapter;
SqlCommand command = new SqlCommand();


-

Chuỗi kết nối với CSDL SQL Server, gồm bốn thông tin: tên server, tên databse,
userid và password.
"server=dungta; database=QLHocSinh; user id=sa; password=";

4. Áp dụng kỹ thuật tham số hóa cho câu lệnh SQL
a. Thực hiện thêm mới thông tin một học sinh
-

Trước đây, chúng ta thiết lập câu lệnh insert như sau:
string sql = "INSERT INTO HOCSINH VALUES('"
txtMaHS.Text.Trim() + "', '"
+ txtTenHS.Text.Trim() + "', '"
+ dtNgaySinh.Value.ToString() + "', '"

4


Hướng dẫn thực hành NMCNPM
+ txtDiaChi.Text.Trim() + "', "
+ txtDiemTB.Text.Trim() + ", '"
+ cboLop.SelectedValue + "')";
command = new SqlCommand(sql, connection);
command.ExecuteNonQuery();

-

Để tham số hóa các tham số cho câu lệnh SQL ta thực hiện các bước sau:

o Tham số hóa câu lệnh: @[tên tham số]
o Tạo các parameters tương ứng cho command.
o Đặt giá trị cho các parameter mỗi khi dùng command thực hiện câu lệnh.

-

Như vậy, chúng ta có thể thay thế đoạn code trên bằng đoạn code như sau:
string sql="INSERT INTO HOCSINH VALUES(@Ma,@Ten,@Ns,@Dc,@Diem,@Lop)";
command.Connection = connection;
command.CommandText = sql;
command.Parameters.AddWithValue("@Ma", txtMaHS.Text.Trim());
command.Parameters.AddWithValue("@Ten", txtTenHS.Text.Trim());
command.Parameters.AddWithValue("@Ns", dtNgaySinh.Value);
command.Parameters.AddWithValue("@Dc", txtDiaChi.Text.Trim());
command.Parameters.AddWithValue("@Diem", txtDiemTB.Text.Trim());
command.Parameters.AddWithValue("@Lop",
cboLop.SelectedValue.ToString());
command.ExecuteNonQuery();

b. Sửa thông tin của một học sinh.
string sql = "UPDATE HOCSINH SET TenHS=@Ten, NgaySinh=@Ns,"
+ "DiaChi=@Dc, DTB=@Diem, MaLop=@Lop Where MaHS=@Ma";
command.Connection = connection;
command.CommandText = sql;
command.Parameters.AddWithValue("@Ma",txtMaHS.Text.Trim());
command.Parameters.AddWithValue("@Ten",txtTenHS.Text.Trim());
command.Parameters.AddWithValue("@Ns",dtNgaySinh.Value);
command.Parameters.AddWithValue("@Dc",txtDiaChi.Text.Trim());
command.Parameters.AddWithValue("@Diem",txtDiemTB.Text.Trim());
command.Parameters.AddWithValue("@Lop",cboLop.SelectedValue.ToString());

command.ExecuteNonQuery();

5. Thực thi thông qua các Stored procedure
a. Cách tạo Stored Procedure
-

Tạo mới Stored Procedure, chọn New Stored Procedure…

5


Hướng dẫn thực hành NMCNPM

-

Tạo Stored Procedure thêm mới thông tin một học sinh như sau:

Các tham
số input
Kiểm tra học
sinh cần thêm
tồn tại chưa?

6


Hướng dẫn thực hành NMCNPM

b. Gọi thực thi Stored Procedure sp_InsertHocSinh thông qua chương trình:
-


Để thêm mới thông tin một học sinh, chúng ta gọi thực thi Stored Procedure
sp_InsertHocSinh như sau:

-

Sau khi thực thi, Stored Procedure sẽ trả về kết quả thông qua tham số out (kết
quả trả về trong trường hợp này là chuỗi thông báo lỗi, nếu không có lỗi trả về
chuỗi rỗng).

-

Ví dụ khi chúng ta nhập vào một học sinh mới có mã trùng với một học sinh đã
được lưu trong cơ sở dữ liệu, khi thực hiện insert thì chương trình sẽ thông báo
lỗi:

-

Vậy chúng ta cần phải kiểm tra kết quả trả về và thông báo cho người dùng biết

6. Bài tập:
-

Sinh viên tìm hiểu và cài đặt các chức năng còn lại của chương trình.

-

Lưu ý: Khi thêm mới một học sinh, giá trị ngày tháng được hệ thống hiểu mặt
định là mm/dd/yyyy (nếu nhập theo định dạng dd/mm/yyyy, ví dụ: 25/10/1980
thì chương trình sẽ lỗi do không có tháng 25???). Sinh viên tìm hiểu và xử lý cho

vấn đề trên. Gợi ý: Trong Stored Procedure dùng hàm Convert để xử lý.

7



Tài liệu bạn tìm kiếm đã sẵn sàng tải về

Tải bản đầy đủ ngay
×