4,011
社区成员
发帖
与我相关
我的任务
分享
BOOL ODBCConnect(CString &strDBFile)
{
CString strConnect;
strConnect.Format(_T("ODBC;DRIVER={MICROSOFT ACCESS DRIVER (*.mdb)};UID=admin;PWD=admin;DBQ=%s"), strDBFile);
CDatabase db;
try
{
if(db.OpenEx(strConnect))
{
int iCounter = 0;
//连接数据库成功
cout << "数据库已经连接陈功!" << endl;
CRecordset rs(&db);
CString strSql;
strSql = _T("select * from t_student"); //SQL语句
rs.Open(CRecordset::snapshot,strSql); //执行Sql语句(可添加 删除 查询等)
if(rs.IsOpen())
{
cout << "记录集已开启" << endl;
// CDBVariant variant;
CString variant;
// rs.MoveFirst();
cout << "已移动到首位!" << endl;
while(!rs.IsEOF())
{
//读取记录
cout << "开始读取" << endl;
rs.GetFieldValue((short)0, variant);
cout << variant;
rs.GetFieldValue((short)1,variant);
cout << "\t" << variant;
rs.MoveNext();
}
if (rs.IsEOF())
{
rs.MoveFirst();
}
}
}catch(CDBException &e)
{
e.ReportError();
}
rs.Close();
db.Close();
return TRUE;
}
return FALSE;
}
if(db.Open(NULL, FALSE, FALSE, strConnect))
if(db.OpenEx(strConnect))
virtual BOOL Open(
LPCTSTR lpszDSN,
BOOL bExclusive = FALSE,
BOOL bReadOnly = FALSE,
LPCTSTR lpszConnect = _T("ODBC;"),
BOOL bUseCursorLib = TRUE
);
virtual BOOL OpenEx(
LPCTSTR lpszConnectString,
DWORD dwOptions = 0
);
rs.Open(CRecordset::forwardOnly,strSql);
rs.Open(CRecordset::snapshot,strSql);
try
{
//带测试code
}
catch(_com_error& e)
{
AfxMessageBox(e.Description());
}