Bài giảng Lập trình trên Windows: Chương 5.4 - Trần Minh Thái
lượt xem 6
download
Bài giảng Lập trình trên Windows: Chương 5.4 Truy vấn có tham số cung cấp cho người học các kiến thức: Nhu cầu cần có truy vấn có tham số, các bước tạo truy vấn có tham số, gọi Stored Procedure. Mời các bạn cùng tham khảo.
Bình luận(0) Đăng nhập để gửi bình luận!
Nội dung Text: Bài giảng Lập trình trên Windows: Chương 5.4 - Trần Minh Thái
- Lập trình Windows Chương 5.4. Truy vấn có tham số 1
- Nội dung • Nhu cầu cần có truy vấn có tham số • Các bước tạo truy vấn có tham số • Gọi Stored Procedure 2
- Nhu cầu cần có truy vấn có tham số • Tìm kiếm các dòng dữ liệu trong CSDL theo một điều kiện nào đó do người dùng nhập vào • Ví dụ: Tìm kiếm xem nhân viên có trong CSDL để cho phép đăng nhập vào chương trình string strUser, strPass; strUser = txtUser.Text; strPass = txtPass.Text; string strSQL; strSQL = "select * from NhanVien where " + "username='" + strUser + "' and " + "password='" + strPass + "'"; 3
- Nhu cầu cần có truy vấn có tham số • Những vị trí lệnh SQL cần dữ liệu người dùng (parameter placeholders) • Bất kỳ dữ liệu gì được truyền vào tham số sẽ được đối xử như là dữ liệu thuần túy (không phải là 1 câu lệnh SQL) 4
- Các bước tạo truy vấn có tham số • Bước 1: Xây dựng câu SQL có tham số • Bước 2: Khai báo đối tượng SqlParameter, gán giá trị tương ứng • Bước 3: Gán đối tượng SqlParameter cho thuộc tính Parameters của đối tượng SqlCommand 5
- Các bước tạo truy vấn có tham số • Bước 1:Xây dựng văn bản câu SQL có tham số • Những nơi cần dữ liệu người dùng chúng ta tạo một parameter placeholder • Tên parameter placeholder: @ten Parameter placeholder §Cú pháp: strSQL = "select … where cot1 = @ten1 …" §Ví dụ: strSQL = "select * from NhanVien where " + “manv=@user and matkhau=@pass"; 6
- Các bước tạo truy vấn có tham số • Bước 2: Khai báo đối tượng SqlParameter, gán giá trị tương ứng • Mỗi parameter placeholder tương ứng với một đối tượng SqlParameter §Cú pháp: SqlParameter param; param = new SqlParameter(); param = new SqlParameter(string paramName, object value); param = new SqlParameter(string paramName, SqlDbType dbType); param = new SqlParameter(string paramName, SqlDbType dbType, int size); 7
- Các bước tạo truy vấn có tham số • Một số loại kiểu dữ liệu của tham số: SqlDbType • Số • TinyInt = Byte • Chuỗi • SmallInt = Int16 – Char = String • Int = Int32 – NChar = String • BigInt = Int64 – Text = String • Real = Single – NText = String • Float = Double – NVarChar = String • Decimal = Decimal Money = Decimal Kiểu khác • • – Bit = Boolean – DateTime = 8 DateTime
- Các bước tạo truy vấn có tham số • Một số property của SqlParameter • string param.ParameterName • SqlDbType param.SqlDbType • object param.Value • int param.Size 9
- Các bước tạo truy vấn có tham số • Ví dụ SqlParameter paramMaNV, paramMatKhau; paramMaNV = new SqlParameter(); paramMaNV.SqlDbType = SqlDbType.VarChar; paramMaNV.ParameterName = "@user"; paramMaNV.Value = strMaNV; paramMatKhau = new SqlParameter(); paramMatKhau.SqlDbType = SqlDbType.VarChar; paramMatKhau.ParameterName = "@pass"; paramMatKhau.Value = strMatKhau; 10
- Các bước tạo truy vấn có tham số • Bước 3: Gán đối tượng SqlParameter cho thuộc tính Parameters của đối tượng SqlCommand SqlCommand cmd; SqlParameter param; … cmd.Parameters.Add(param); cmd.Parameters.Add(string paramName, SqlDbType dbType); cmd.Parameters.Add(string paramName, SqlDbType dbType, int size); 11
- Gọi Stored Procedure • Khái niệm Stored Procedure – SP • Tạo Stored Procedure • Gọi SP không có tham số • Gọi SP có tham số input (vào) • Gọi SP có tham số output (ra) 12
- Gọi Stored Procedure Khái niệm Stored Procedure • SP là 1 thủ tục được định nghĩa trước và được lưu trữ trong CSDL để người dùng sẵn sàng dùng • Đặc điểm của SP • SQL Server biên dịch Stored Procedure • Gọi SP chạy sẽ nhanh hơn việc xây dựng câu truy vấn trong code • SP bảo mật hơn 13
- Gọi Stored Procedure Tạo Stored Procedure – SP • Cú pháp tạo SP CREATE PROCEDURE usp_TenSP /* ( @parameter1 datatype = defaultvalue, @parameter2 datatype OUTPUT ) */ AS /* SET NOCOUNT ON */ RETURN 14
- Gọi Stored Procedure Gọi SP không có tham số • 2 bước gọi SP không tham số: • Bước 1: Chỉ rõ tên SP trong thuộc tính CommandText của đối tượng Command SqlCommand cmd; … cmd.CommandText = “usp_TenStoredProcedure” • Bước 2: Chỉ cho đối tượng Command biết chúng ta đang muốn thực thi 1 Stored Procedure cmd.CommandType = CommandType.StoredProcedure 15
- Gọi Stored Procedure Gọi SP không có tham số • Ví dụ: create procedure usp_LayDSNhanVien as select * from NhanVien return string strSP = “usp_LayDSNhanVien”; SqlCommand cmd = new SqlCommand(strSP, conn); cmd.CommandType = CommandType.StoredProcedure; SqlDataAdapter daNhanVien = new SqlDataAdapter(cmd); DataTable dtNhanVien = new DataTable(); daNhanVien.Fill(dtNhanVien); // Cách 2 //conn.Open(); //SqlDataReader dr = cmd.ExecuteReader(); 16
- Gọi Stored Procedure Gọi SP có tham số input (vào) • 3 bước gọi SP có tham số input: • Bước 1, 2: giống như trước • Bước 3: Thêm đối tượng tham số SqlParameter vào đối tượng command (Tên tham số giống tên tham số trong SP) cmd.Parameters.Add(“@TenThamSo”, kieu, kichthuoc); cmd.Parameters[“@TenThamSo”].value = giatri; 17
- Gọi Stored Procedure Gọi SP có tham số input (vào) • Ví dụ: create procedure usp_TimNhanVienTheoTen (@ten nvarchar(20)) as select * from NhanVien where ten = @ten return string sqlSP = "usp_TimNhanVienTheoTen"; conn = new SqlConnection(strConn); SqlCommand cmd = new SqlCommand(sqlSP, conn); cmd.CommandType = CommandType.StoredProcedure; cmd.Parameters.Add("@Ten", SqlDbType.NVarChar, 20); cmd.Parameters["@Ten"].Value=giatri; 18
- Gọi Stored Procedure Gọi SP có tham số output (ra) • Tương tự SP có tham số input • Nhưng bước 3 phải chỉ rõ tham số nào là output bằng thuộc tính Direction của đối tượng SqlParameter SqlParameter param; … param.Direction = ParameterDirection.Output 19
- Gọi Stored Procedure Gọi SP có tham số output (ra) • Ví dụ: create procedure usp_TimTenNhanVienTheoMa (@manv nvarchar(20), @ten nvarchar(20) output) as select @ten=ten from NhanVien where manv=@manv return 20
CÓ THỂ BẠN MUỐN DOWNLOAD
-
Bài giảng Lập trình trên Windows: Giới thiệu môn học - Trần Minh Thái
16 p | 140 | 16
-
Bài giảng Lập trình trên Windows: Chương 1 - Trần Minh Thái
68 p | 116 | 16
-
Bài giảng Lập trình trên Windows: Chương 2 - Trần Minh Thái (Phần 1)
141 p | 100 | 15
-
Bài giảng Lập trình trên Windows: Chương 3 - Trần Minh Thái
220 p | 89 | 14
-
Bài giảng Lập trình trên Windows: Chương 2 - Trần Minh Thái (Phần 2)
96 p | 80 | 14
-
Bài giảng Lập trình trên Windows: Chương 4 - Trần Minh Thái
35 p | 99 | 12
-
Bài giảng Lập trình trên Windows: Chương 2 - Trần Minh Thái (Phần 3)
29 p | 73 | 10
-
Bài giảng Lập trình trên Windows: Chương 5 - Trần Minh Thái
38 p | 102 | 10
-
Bài giảng Lập trình trên Windows: Chương 5.1 - Trần Minh Thái
20 p | 78 | 9
-
Bài giảng Lập trình trên Windows: Chương 5.2 - Trần Minh Thái
86 p | 89 | 9
-
Bài giảng Lập trình trên Windows: Chương 5.5 - Trần Minh Thái
47 p | 61 | 8
-
Bài giảng Lập trình trên Windows: Chương 5.6 - Trần Minh Thái
44 p | 73 | 8
-
Bài giảng Lập trình trên Windows: Chương 5.3 - Trần Minh Thái
25 p | 69 | 7
-
Bài giảng Lập trình trên Windows: Chương 6 - Trần Minh Thái
27 p | 52 | 7
-
Bài giảng Lập trình trên môi trường Windows: Phần 1 - Windows control
31 p | 94 | 5
-
Bài giảng Lập trình trên Windows với Microsoft® .NET: Bài 6 - Hồ Hoàn Kiếm
15 p | 70 | 5
-
Bài giảng Lập trình trên Windows với Microsoft® .NET: Bài 1 - Hồ Hoàn Kiếm
19 p | 64 | 4
Chịu trách nhiệm nội dung:
Nguyễn Công Hà - Giám đốc Công ty TNHH TÀI LIỆU TRỰC TUYẾN VI NA
LIÊN HỆ
Địa chỉ: P402, 54A Nơ Trang Long, Phường 14, Q.Bình Thạnh, TP.HCM
Hotline: 093 303 0098
Email: support@tailieu.vn