1 / 20

Kết nối CSDL với VC6.0

Kết nối CSDL với VC6.0. Giảng viên : Trần Anh Tuấn A Bộ Môn : Ứng dụng tin học. Nội dung. Truy xuất với ODBC/DAO Truy xuất với OLEDB Truy xuất với ADO. Truy xuất với ODBC/DAO. Cấu trúc ODBC :. Truy xuất với ODBC/DAO. Cách dùng : New Class đặt tên CTestSet (base : CRecordSet)

rianna
Télécharger la présentation

Kết nối CSDL với VC6.0

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Kết nối CSDL với VC6.0 Giảng viên : Trần Anh Tuấn A Bộ Môn : Ứng dụng tin học

  2. Nội dung • Truy xuất với ODBC/DAO • Truy xuất với OLEDB • Truy xuất với ADO

  3. Truy xuất với ODBC/DAO • Cấu trúc ODBC :

  4. Truy xuất với ODBC/DAO • Cách dùng : • New Class đặt tên CTestSet (base : CRecordSet) • Chọn DB Access muốn truy xuất • Trong CTestView thêm biến : CTestSet* m_pSet • Trong CTestDoc thêm biến :CTestSet m_TestSet

  5. Truy xuất với ODBC/DAO • Khởi Tạo Kết Nối : void CTestView::OnInitialUpdate() { CScrollView::OnInitialUpdate(); CSize sizeTotal(8000, 10500); SetScrollSizes(MM_HIENGLISH, sizeTotal); m_pSet = &GetDocument()->m_TestSet; // Remember that documents/views are reused in SDI applications! if (m_pSet->IsOpen()) { m_pSet->Close(); } m_pSet->Open(); }

  6. void CEx31aView::OnDraw(CDC* pDC) { TEXTMETRIC tm; pDC->GetTextMetrics(&tm); int nLineHeight=tm.tmHeight+tm.tmExternalLeading; CPoint pText(0,0); int y = 0; CString str; if (m_pSet->IsBOF()) { // detects empty recordset return; } m_pSet->MoveFirst(); // fails if recordset is empty while (!m_pSet->IsEOF()) { str.Format("%ld", m_pSet->m_StudentID); pDC->TextOut(pText.x, pText.y, str); pDC->TextOut(pText.x+1000, pText.y, m_pSet->m_Name); str.Format("%d", m_pSet->m_GradYear); pDC->TextOut(pText.x+4000, pText.y, str); m_pSet->MoveNext(); pText.y -= nLineHeight; } } • Truy Xuất Dữ Liệu :

  7. Truy xuất với ODBC/DAO

  8. Truy xuất với ODBC/DAO • Cách dùng DAO • CDaoDatabase aDB; • COleVariant var; • aDB.Open(“C:\\.......\\SinhVien.mdb”,FALSE,TRUE) • CDaoRecordset aRS(&aDB); • aRS.Open(AFX_DAO_USE_DEFAULT_TYPE, ”Select * From ……” , 0 ); • While(!aRS.IsEOF()) • { • Var = aRS.GetFieldValue(0); • CString Str = (LPCSTR)var.bstrVal; • aRS.MoveNext(); • } • aRS.Close() ; aDB.Close();

  9. Truy Xuất OLEDB • OLEDB (Object Linking and Embedding Data Base ) • OLEDB là một tập hợp các giao diện truy xuất dữ liệu thông qua COM. • Cấu trúc : • Enumerators: có tác vụ tìm các nguồn dữ liệu khả dụng • Data source objects: Data source objects chứa các cơ chế kết nối tới nguồn dữ liệu • Sessions: Sessions thể hiện một kết nối(phiên làm việc) đến nguồn dữ liệu • Transaction: là đối tượng quản lý các thao tác truy xuất dữ liệu và bảo đảm an toàn dữ liệu • Commands: là đối tượng cho phép thực thi các lệnh SQL

  10. Truy Xuất ADO • ADO là một tập hợp các giao diện truy xuất dữ liệu thông qua COM (tương tự như OLEDB nhưng sử dụng đơn giản hơn). • ADO đóng vai trò trung gian tương tác với chương trình ứng dụng và cơ sở dữ liệu, được thể hiện như hình sau:

  11. Truy Xuất ADO • Cấu trúc ADO Connection: là đối tượng quản lý các tác vụ truy cập/kết nối cơ sở dữ liệu. Command: là đối tượng quản lý các tác vụ cập nhật dữ liệu Recordset: là đối tượng quản lý dữ liệu truy vấn được Error: là đối tượng quản lý lỗi xãy ra

  12. Truy Xuất ADO • Cách truy xuất : Xem cụ thể trong file • Khai báo chuỗi connection : • // Kết nối đến Access: • m_szConnection="Provider=Microsoft.JET.OLEDB.4.0;Datasource=xxx”; • // Kết nối đến SQL Server: • m_szConnection="Provider=SQLOLEDB;Datasource=my_server_name; • //Visual Fox Pro • strConnection = _T("Driver={Microsoft Visual Foxpro Driver};UID=;" SourceType=DBC;SourceDB=C:\\DatabasePath\\MyDatabase.dbc;Exclusive=No");

  13. Truy Xuất ADO • //ODBC Driver for Oracle • strConnect = _T(“ • Driver={Microsoft ODBC for Oracle}; Server=OracleServer.world;" "Uid=MyUsername;Pwd=MyPassword;“ • ); • //ODBC Driver for MySQL • StrConnect = _T( • "Driver={MySQL ODBC 3.51 Driver};Server=localhost;" "Database=MyDatabase;User=MyUserName;Password=MyPassword;Option=4;“ • ); • …….

  14. Đưa ADO và OLE_DB vào Ứng dụng • Tạo project SDI với lớp cơ sở CFormView • Đăng ký các ActiveX Controls

  15. Đưa ADO và OLE_DB vào Ứng dụng

  16. Đưa ADO và OLE_DB vào Ứng dụng

  17. Đưa ADO và OLE_DB vào Ứng dụng // Query Data UpdateData(TRUE); m_ado.SetRecordSource(m_query); m_ado.Refresh(); //Lấy từng dữ liệu C_Recordset cRS; cRS = m_ado.GetRecordset();

More Related