Database Connection

You might also like

Download as ppt, pdf, or txt
Download as ppt, pdf, or txt
You are on page 1of 20

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)
 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
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();
}
► Truy Xuất Dữ Liệu :
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 với ODBC/DAO
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();
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
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:
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
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_n
ame;

 //Visual Fox Pro


 strConnection = _T("Driver={Microsoft Visual Foxpro
Driver};UID=;"
SourceType=DBC;SourceDB=C:\\DatabasePath\\MyDatabase.dbc;
Exclusive=No");
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=MyPassw
ord;Option=4;“
 );
 …….
Đư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
Đưa ADO và OLE_DB vào Ứng
dụng
Đưa ADO và OLE_DB vào Ứng
dụng
Đư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();

You might also like