intTypePromotion=1
zunia.vn Tuyển sinh 2024 dành cho Gen-Z zunia.vn zunia.vn
ADSENSE

Bài giảng Lập trình trên Windows: Chương 5.4 - Trần Minh Thái

Chia sẻ: Cao Thi Ly | Ngày: | Loại File: PPTX | Số trang:22

61
lượt xem
5
download
 
  Download Vui lòng tải xuống để xem tài liệu đầy đủ

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.

Chủ đề:
Lưu

Nội dung Text: Bài giảng Lập trình trên Windows: Chương 5.4 - Trần Minh Thái

  1. Lập trình Windows Chương 5.4. Truy vấn có tham số 1
  2. 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
  3. 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
  4. 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
  5. 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
  6. 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
  7. 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
  8. 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
  9. 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
  10. 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
  11. 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
  12. 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
  13. 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
  14. 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
  15. 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
  16. 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
  17. 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
  18. 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
  19. 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
  20. 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
ADSENSE

CÓ THỂ BẠN MUỐN DOWNLOAD

 

Đồng bộ tài khoản
2=>2