Tài liệu Bài giảng Lập trình Windows - Chương 5.1: Lấy dữ liệu theo cách Connected: Lập trình WindowsChương 5.1. Lấy dữ liệu theo cách Connected1Nội dungCác bước lấy dữ liệu Lấy 1 giá trị đơnLấy tập giá trịTruy vấn tập giá trị và lưu lạiCác bước lấy dữ liệuBướ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 SQLSQL:SelectDML, DDL, DCLBước 2: Gởi yêu cầu đến CSDLTạo đối tượng CommandBước 3: Nhận kết quảLấy 1 giá trị đơnMột số câu lệnh SQL trả về giá trị đơnTạo đối tượng CommandCung cấp câu lệnh SQL cho CommandThực thi câu lệnhLấy 1 giá trị đơnMột số câu lệnh SQL trả về giá trị đơnSelect min() From Select max() From Select avg() From Select count() From Select sum() From string strSQL = "Select count(*) From TenBang";Lấy 1 giá trị đơnTạo đối tượng CommandĐối tượng Command gồm:Đối tượng ConnectionCâu lệnh SQLLoại câu lệnh: CommadTypeLấy dữ liệu nguyên 1 Bảng: CommadType.TableDirectCâu lệnh SQL: CommadType.TextStored Procedure: CommadType.StoredProcedureLấy 1 giá trị đơnTạo đối tượng CommandCách 1:SqlCommand cmd = new SqlCommand();cmd.Conn...
20 trang |
Chia sẻ: putihuynh11 | Lượt xem: 684 | Lượt tải: 0
Bạn đang xem nội dung tài liệu Bài giảng Lập trình Windows - Chương 5.1: Lấy dữ liệu theo cách Connected, để tải tài liệu về máy bạn click vào nút DOWNLOAD ở trên
Lập trình WindowsChương 5.1. Lấy dữ liệu theo cách Connected1Nội dungCác bước lấy dữ liệu Lấy 1 giá trị đơnLấy tập giá trịTruy vấn tập giá trị và lưu lạiCác bước lấy dữ liệuBướ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 SQLSQL:SelectDML, DDL, DCLBước 2: Gởi yêu cầu đến CSDLTạo đối tượng CommandBước 3: Nhận kết quảLấy 1 giá trị đơnMột số câu lệnh SQL trả về giá trị đơnTạo đối tượng CommandCung cấp câu lệnh SQL cho CommandThực thi câu lệnhLấy 1 giá trị đơnMột số câu lệnh SQL trả về giá trị đơnSelect min() From Select max() From Select avg() From Select count() From Select sum() From string strSQL = "Select count(*) From TenBang";Lấy 1 giá trị đơnTạo đối tượng CommandĐối tượng Command gồm:Đối tượng ConnectionCâu lệnh SQLLoại câu lệnh: CommadTypeLấy dữ liệu nguyên 1 Bảng: CommadType.TableDirectCâu lệnh SQL: CommadType.TextStored Procedure: CommadType.StoredProcedureLấy 1 giá trị đơnTạo đối tượng CommandCá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 1 giá trị đơnTạo đối tượng CommandCá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 1 giá trị đơnThực thi câu lệnhPhương thức ExecuteScalar()ExecuteScalar trả về 1 giá trị kiểu objectDùng ép kiểu để chuyển sang kiểu dữ liệu tương ứngconn.Open();kq = (Kieu)cmd.ExecuteScalar();conn.Close();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 IDataReaderThuộc tính và phương thức của IDataReaderLấ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ộtSelect cột1, cột2, From string strSQL = "Select cot1, From TenBang";Lấy tập giá trịThực thi câu lệnhPhươ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 IDataReaderconn.Open();SqlDataReader reader=cmd.ExecuteReader();conn.Close();Lấy tập giá trịĐối tượng IDataReaderĐặc điểm của đối tượng IDataReaderChứa một luồng dữ liệu, tại mỗi thời điểm chỉ truy cập 1 dòng Read-onlyForward-onlyLấy tập giá trịThuộc tính và phương thức của IDataReaderGet[DataType](int i): GetInt32(), GetString(), DataType: phụ thuộc vào kiểu dữ liệu cần lấyi: 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ự iint GetOrdinal(string name)Lấy số thứ tự của cột có tên namebool IsDbNull(int i)Kiểm tra giá trị cột I có là null/nothing hay không Lấy tập giá trịThuộc tính và phương thức của IDataReaderobject 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 GetValueobject dataReader[int i]object dataReader[string columnName]!!! Nên dùng số thứ tự (i) thay vì tên cột (columnName)Lấy tập giá trịThuộc tính và phương thức của IDataReaderbool HasRowtrue: cho biết IDataReader chứa 1 hay nhiều dòng dữ liệubool Read()Đọc dòng kế tiếpTrả về true nếu còn 1 hay nhiều dòng dữ liệu Lấy tập giá trịThuộc tính và phương thức của IDataReaderconn.Open();SqlDataReader reader=cmd.ExecuteReader();if (!reader.HasRows) while (reader.Read()){ value1 = reader.GetString(0); value2 = reader.GetInt32(1);}conn.Close();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-bindingCần nhiều thời gian để xử lý dữ liệu Cần lưu dữ liệu lại để xử lý sauTruy vấn tập giá trị và lưu lạiMỗi dòng là DbDataRecordArrayList arrList = new ArrayList();conn.Open();SqlDataReader reader=cmd.ExecuteReader();foreach (DbDataRecord rec in reader) { arrList.Add(rec);}conn.Close();//Sử dụng arrListQ&A20
Các file đính kèm theo tài liệu này:
- _huflit_chuong5_1_laydulieutheocachconnected_1451_1985426.pptx