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.1 - Trần Minh Thái

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

80
lượt xem
9
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.1 cung cấp cho người học các kiến thức: 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,...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.1 - Trần Minh Thái

  1. Lập trình Windows Chương 5.1. Lấy dữ liệu theo cách Connected 1
  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 2
  3. Các bước lấy dữ liệu • 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ả 3
  4. 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 câu lệnh SQL cho Command • Thực thi câu lệnh 4
  5. 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"; 5
  6. Lấy 1 giá trị đơn Tạo đối tượng Command Đối tượng Command gồm: • Đối tượng Connection • 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 6
  7. 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; 7
  8. 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; 8
  9. 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 conn.Open(); kq = (Kieu)cmd.ExecuteScalar(); conn.Close(); 9
  10. 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 10
  11. 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"; 11
  12. Lấy tập giá trị Thực thi câu lệnh • Phương thức ExecuteReader() trả về 1 đối tượng IDataReader (SqlDataReader hay OleDBDataReader) • IDataReader cho phép duyệt các dòng trong tập dữ liệu !!! 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(); 12
  13. 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 13
  14. Lấy tập giá trị Thuộc tính và phương thức của IDataReader • Get[DataType](int i): GetInt32(…), GetString(…), … • DataType: phụ thuộc vào kiểu dữ liệu cần lấy • i: 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 14
  15. 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 columnName] !!! Nên dùng số thứ tự (i) thay vì tên cột (columnName) 15
  16. 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 16
  17. 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(); 17
  18. 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 nhiều thời gian để xử lý dữ liệu Cần lưu dữ liệu lại để xử lý sau 18
  19. Truy vấn tập giá trị và lưu lại Mỗi dòng là DbDataRecord ArrayList arrList = new ArrayList(); conn.Open(); SqlDataReader reader=cmd.ExecuteReader(); foreach (DbDataRecord rec in reader) { arrList.Add(rec); } conn.Close(); //Sử dụng arrList … 19
  20. Q&A 20 20
ADSENSE

CÓ THỂ BẠN MUỐN DOWNLOAD

 

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