1. Trang chủ
  2. » Công Nghệ Thông Tin

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

20 12 0

Đ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

Thông tin cơ bản

Định dạng
Số trang 20
Dung lượng 95,52 KB

Nội dung

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.

Lập trình Windows Chương 5.1 Lấy liệu theo cách Connected Nội dung • Các bước lấy liệu • Lấy giá trị đơn • Lấy tập giá trị • Truy vấn tập giá trị lưu lại Các bước lấy liệu • Bước 1: Chỉ rõ liệu mà ứng dụng cần • Viết yêu cầu 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 Lấy giá trị đơn • Một số câu lệnh SQL trả 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 Lấy giá trị đơn Một số câu lệnh SQL trả giá trị đơn • Select min(…) From … • Select max(…) From … • Select avg(…) From … • Select count(…) From … • Select sum(…) From … string strSQL = "Select count(*) From TenBang"; Lấy 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 liệu nguyên Bảng: CommadType.TableDirect • Câu lệnh SQL: CommadType.Text • Stored Procedure: CommadType.StoredProcedure Lấy 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ấy 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; Lấy giá trị đơn Thực thi câu lệnh • Phương thức ExecuteScalar() • ExecuteScalar trả giá trị kiểu object • Dùng ép kiểu để chuyển sang kiểu liệu tương ứng conn.Open(); kq = (Kieu)cmd.ExecuteScalar(); conn.Close(); Lấy tập giá trị • Câu lệnh SQL trả tập giá trị • Thực thi câu lệnh • Đối tượng IDataReader • Thuộc tính phương thức IDataReader 10 Lấy tập giá trị Câu lệnh SQL trả tập giá trị • Tập giá trị: Gồm nhiều dịng nhiều cột • Select cột1, cột2, … From … string strSQL = "Select cot1, … From TenBang"; 11 Lấy tập giá trị Thực thi câu lệnh • Phương thức ExecuteReader() trả đối tượng IDataReader (SqlDataReader hay OleDBDataReader) • IDataReader cho phép duyệt dịng tập liệu !!! Khơng đóng kết nối cịn sử dụng đối tượng IDataReader conn.Open(); SqlDataReader reader=cmd.ExecuteReader(); … conn.Close(); 12 Lấy tập giá trị Đối tượng IDataReader • Đặc điểm đối tượng IDataReader • Chứa luồng liệu, thời điểm truy cập dịng • Read-only • Forward-only 13 Lấy tập giá trị Thuộc tính phương thức IDataReader • Get[DataType](int i): GetInt32(…), GetString(…), … • DataType: phụ thuộc vào kiểu liệu cần lấy • i: số thứ tự cột (Ordinal) muốn lấy 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ột có tên name • bool IsDbNull(int i) • Kiểm tra giá trị cột I có null/nothing hay không 14 Lấy tập giá trị Thuộc tính phương thức IDataReader • object GetValue(int i) • Lấy giá trị cột i mà không quan tâm kiểu liệu • Hai indexer có chức 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 tên cột (columnName) 15 Lấy tập giá trị Thuộc tính phương thức IDataReader • bool HasRow • true: cho biết IDataReader chứa hay nhiều dòng liệu • bool Read() • Đọc dịng • Trả true hay nhiều dòng liệu 16 Lấy tập giá trị Thuộc tính phương thức IDataReader conn.Open(); SqlDataReader reader=cmd.ExecuteReader(); if (!reader.HasRows) … while (reader.Read()) { value1 = reader.GetString(0); value2 = reader.GetInt32(1); } conn.Close(); 17 Truy vấn tập giá trị lưu lại • Điều kiện lưu liệu vào nhớ • Trong số trường hợp cần lưu liệu • Data-binding • Cần nhiều thời gian để xử lý liệu Cần lưu liệu lại để xử lý sau 18 Truy vấn tập giá trị lưu lại Mỗi dòng 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 Q&A 20 20 ... IDataReader • Đặc điểm đối tượng IDataReader • Chứa luồng liệu, thời điểm truy cập dịng • Read-only • Forward-only 13 Lấy tập giá trị Thuộc tính phương thức IDataReader • Get[DataType](int i): GetInt32(…),... Truy vấn tập giá trị lưu lại • Điều kiện lưu liệu vào nhớ • Trong số trường hợp cần lưu liệu • Data-binding • Cần nhiều thời gian để xử lý liệu Cần lưu liệu lại để xử lý sau 18 Truy vấn tập giá trị

Ngày đăng: 08/05/2021, 11:53