chương 2 lấy dữ liệu theo cách connected

44 439 0
chương 2 lấy dữ liệu theo cách connected

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

Thông tin tài liệu

LẤY DỮ LIỆU THEO CÁCH CONNECTED Chương 2 2 Nội dung  Các bước lấy dữ liệuLấy 1 giá trị đơn  Lấy tập giá trị  Truy vấn tập giá trị và lưu lại  Truy vấn có tham số  Gọi Store Procedure 3 4 5 6 Các bước lấy dữ liệu  3 bước cơ bản • Bước 1: Chỉ rõ dữ liệu mà ứng dụng cần – Viết yêu cầu bằng câu lệnh SQL – SQL:  Select  DML, DDL, DCL • Bước 2: Gởi yêu cầu đến CSDL – Tạo đối tượng Command • Bước 3: Nhận kết quả 7 Lấy 1 giá trị đơn  Một số câu lệnh SQL trả về giá trị đơn  Tạo đối tượng Command  Cung cấp văn bản câu lệnh SQL cho Command  Thực thi câu lệnh 8 Lấy 1 giá trị đơn Một số câu lệnh SQL trả về giá trị đơn  Select min(…) From …  Select max(…) From …  Select avg(…) From …  Select count(…) From …  Select sum(…) From … string strSQL = "Select count(*) From TenBang"; 9 Lấy 1 giá trị đơn Tạo đối tượng Command  Một đối tượng Command cần 3 thông tin • Đối tượng Connection • Văn bản câu lệnh SQL • Loại câu lệnh: CommadType – Lấy dữ liệu nguyên 1 Bảng: CommadType.TableDirect – Câu lệnh SQL: CommadType.Text – Stored Procedure: CommadType.StoredProcedure 10 Lấy 1 giá trị đơn Tạo đối tượng Command  Cách 1: SqlCommand cmd = new SqlCommand(); cmd.Connection = conn; cmd.CommandText = strSQL; cmd.CommandType = CommandType.Text;  Cách 2: SqlCommand cmd = new SqlCommand(strSQL); cmd.Connection = conn; cmd.CommandType = CommandType.Text; [...]... lý dữ liệu Cần lưu dữ liệu lại để xử lý sau 21 Truy vấn tập giá trị và lưu lại  Dùng vòng lặp foreach • Để lặp qua các dòng dữ liệu • Mỗi dòng dữ liệu được gọi là DbDataRecord List nhanVienList = new List(); conn.Open(); SqlDataReader reader=cmd.ExecuteReader(); foreach (DbDataRecord rec in reader) { nhanVienList.Add(new NhanVien(rec)); } conn.Close(); //Sử dụng nhanVienList … 22 ... nếu còn 1 hay nhiều dòng dữ liệu 19 Lấy tập giá trị Thuộc tính và phương thức của IDataReader conn.Open(); SqlDataReader reader=cmd.ExecuteReader(); if (!reader.HasRows) … while (reader.Read()) { value1 = reader.GetString(0); value2 = reader.GetInt 32( 1); } conn.Close(); 20 Truy vấn tập giá trị và lưu lại  Điều kiện lưu dữ liệu vào bộ nhớ • Trong một số trường hợp cần lưu dữ liệu – Data-binding – Cần... IDataReader  Get[DataType](int i): GetInt 32( …), GetString(…), … • Tên đầy đủ: phụ thuộc vào kiểu dữ liệu cần lấy • Tham số của hàm: là số thứ tự của cột (Ordinal) muốn lấy dữ liệu  string GetName(int i) • Lấy tên cột có số thứ tự i  int GetOrdinal(string name) • Lấy số thứ tự của cột có tên name  bool IsDbNull(int i) • Kiểm tra giá trị cột I có là null/nothing hay không 17 Lấy tập giá trị Thuộc tính và phương... 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) 26 Các bước tạo truy vấn có tham số  3 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ố • 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 27 Các bước tạo... dòng trong tập dữ liệu  Chú ý: • Phải mở kết nối trước khi gọi lệnh ExecuteReader • Không được đóng kết nối khi còn đang sử dụng đối tượng IDataReader conn.Open(); SqlDataReader reader=cmd.ExecuteReader(); … conn.Close(); 15 Lấy tập giá trị Đối tượng IDataReader  Đặc điểm của đối tượng IDataReader • Chứa một luồng dữ liệu, tại mỗi thời điểm chỉ truy cập 1 dòng • Read-only, Forward-only 16 Lấy tập giá.. .Lấy 1 giá trị đơn Tạo đối tượng Command  Cách 3: SqlCommand cmd = new SqlCommand(strSQL, conn); cmd.CommandType = CommandType.Text;  Cách 4: SqlCommand cmd = conn.CreateCommand(); cmd.CommandText = strSQL; cmd.CommandType = CommandType.Text; 11 Lấy 1 giá trị đơn Thực thi câu lệnh  Phương thức ExecuteScalar() • ExecuteScalar trả về 1 giá trị kiểu object • Dùng ép kiểu để chuyển sang kiểu dữ liệu. .. IDataReader  object GetValue(int i) • Lấy giá trị cột I mà không quan tâm kiểu dữ liệu  Hai indexer có chức năng tương tự phương thức GetValue • object dataReader[int i] • object dataReader[string name]  Chú ý: Nên dùng số thứ tự thay vì tên cột 18 Lấy tập giá trị Thuộc tính và phương thức của IDataReader  bool HasRow • true: cho biết IDataReader chứa 1 hay nhiều dòng dữ liệu  bool Read() • Đọc dòng kế... NhanVien(rec)); } conn.Close(); //Sử dụng nhanVienList … 22 TRUY VẤN CÓ THAM SỐ 23 Nhu cầu cần có truy vấn có tham số  Chúng ta thường viết các câu lệnh SQL đề tìm  kiếm các dòng dữ liệu trong CSDL theo một điều kiện nào đó Những giá trị trong điều kiện do người dùng nhập vào Ví dụ: Tìm kiếm nhân viên có trong CSDL không để cho phép đăng nhập vào chương trình string strUser, strPass; strUser = txtUser.Text; strPass... (Kieu)cmd.ExecuteScalar(); conn.Close(); 12 Lấy tập giá trị  Câu lệnh SQL trả về tập giá trị  Thực thi câu lệnh  Đối tượng IDataReader  Thuộc tính và phương thức của IDataReader 13 Lấy tập giá trị Câu lệnh SQL trả về tập giá trị  Tập giá trị: Gồm nhiều dòng hoặc nhiều cột  Select cột1, cột2, … From … string strSQL = "Select cot1, … From TenBang"; 14 Lấy tập giá trị Thực thi câu lệnh  Phương... strUser + "' and " + "password='" + strPass + "'"; 24 Nhu cầu cần có truy vấn có tham số  Nhận xét • Bất kỳ những gì nhập vào txtPass, txtUser đều được đặt vào trong câu SQL • Hãy nhập vào username: ' or ('1'='1') or '1'='1 hay • Hãy nhập vào password: ' or '1'='1 25 Nhu cầu cần có truy vấn có tham số  Truy vấn có tham số • Những nơi trong câu SQL cần dữ liệu người dùng, chúng ta sẽ tạo những tham số . LẤY DỮ LIỆU THEO CÁCH CONNECTED Chương 2 2 Nội dung  Các bước lấy dữ liệu  Lấy 1 giá trị đơn  Lấy tập giá trị  Truy vấn tập giá trị và lưu. IDataReader  Get[DataType](int i): GetInt 32( …), GetString(…), … • Tên đầy đủ: phụ thuộc vào kiểu dữ liệu cần lấy • Tham số của hàm: là số thứ tự của cột (Ordinal) muốn lấy dữ liệu  string GetName(int i) • Lấy tên cột có. Procedure 3 4 5 6 Các bước lấy dữ liệu  3 bước cơ bản • Bước 1: Chỉ rõ dữ liệu mà ứng dụng cần – Viết yêu cầu bằng câu lệnh SQL – SQL:  Select  DML, DDL, DCL • Bước 2: Gởi yêu cầu đến CSDL – Tạo

Ngày đăng: 28/05/2014, 17:58

Mục lục

  • LẤY DỮ LIỆU THEO CÁCH CONNECTED

  • Các bước lấy dữ liệu

  • Lấy 1 giá trị đơn

  • Lấy 1 giá trị đơn Một số câu lệnh SQL trả về giá trị đơn

  • Lấy 1 giá trị đơn Tạo đối tượng Command

  • Lấy 1 giá trị đơn Thực thi câu lệnh

  • Lấy tập giá trị

  • Lấy tập giá trị Câu lệnh SQL trả về tập giá trị

  • Lấy tập giá trị Thực thi câu lệnh

  • Lấy tập giá trị Đối tượng IDataReader

  • Lấy tập giá trị Thuộc tính và phương thức của IDataReader

  • Truy vấn tập giá trị và lưu lại

  • TRUY VẤN CÓ THAM SỐ

  • 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 Khái niệm Stored Procedure

  • Gọi Stored Procedure Tạo Stored Procedure – SP

  • Gọi Stored Procedure Gọi SP không có tham số

  • Gọi Stored Procedure Gọi SP có tham số input (vào)

  • Gọi Stored Procedure Gọi SP có tham số output (ra)

Tài liệu cùng người dùng

Tài liệu liên quan