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 cơ sở dữ liệu - Chương 2: Lấy dữ liệu theo cách connected

Chia sẻ: Nhân Chi Sơ | Ngày: | Loại File: PPT | Số trang:44

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

Chương 2 - Lấy dữ liệu theo cách connected. Chương này gồm có những nội dung chính sau: 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 lại, truy vấn có tham số, gọi store 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 cơ sở dữ liệu - Chương 2: Lấy dữ liệu theo cách connected

  1. Chương 2 LẤY DỮ LIỆU THEO CÁCH CONNECTED
  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 lại  Truy vấn có tham số  Gọi Store Procedure 2
  3. 3
  4. 4
  5. 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ả 6
  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 7
  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"; 8
  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 9
  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; 10
  11. 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
  12. 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 tương ứng  Chú ý: Phải mở kết nối trước khi gọi lệnh ExecuteScalar conn.Open(); kq = (Kieu)cmd.ExecuteScalar(); conn.Close(); 12
  13. 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
  14. 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
  15. Lấy tập giá trị Thực thi câu lệnh  Phương thức ExecuteReader() • ExecuteScalar trả về 1 đối tượng IDataReader (SqlDataReader hay OleDBDataReader) • IDataReader cho phép chúng ta duyệt qua các 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
  16. 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
  17. Lấy tập giá trị Thuộc tính và phương thức của IDataReader  Get[DataType](int i): GetInt32(…), 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
  18. Lấy tập giá trị Thuộc tính và phương thức của 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
  19. 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ế tiếp • Trả về true nếu còn 1 hay nhiều dòng dữ liệu 19
  20. 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.GetInt32(1); } conn.Close(); 20
ADSENSE

CÓ THỂ BẠN MUỐN DOWNLOAD

 

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