#import "c:\Program Files\common files\system\ado\msado15.dll" no_namespace rename("EOF","adoEOF") // 引入ado库,才能操作数据库,这个库系统本身存在,只要引入就行
CoInitialize(NULL); // CoInitialize可以使对象直接与线程连接,得到最高的性能,与CoUninitialize()配对使用
_ConnectionPtr m_pConnection(_uuidof(Connection)); // 数据库连接指针
_RecordsetPtr m_pRecordset(_uuidof(Recordset)); // 记录集,保存数据库语句的执行结果
try{
m_pConnection->Open("DSN=myDB","","",0); // 打开数据库,DSN是你要连接ODBC数据源的名称,添加ODBC数据源应该会吧,我附上了一张截图
CString strExe = L"select * from myData"; // 数据库查询语句
m_pRecordset = m_pConnection->Execute(strExe.GetBuffer(strExe.GetLength()), NULL, adCmdText); // 执行语句,adCmdText是执行的命令方式
while(!m_pRecordset->adoEOF) // 还有下一条记录
{
_variant_t TheValue; // _variant_t封装并管理VARIANT数据类型
TheValue = m_pRecordset->GetCollect("日期"); // 这里是获取日期操作
m_pRecordset->MoveNext(); // 移动到下一条记录
}
}catch(_com_error e)
{
AfxMessageBox(e.ErrorMessage()); // 出错提示
}
m_pRecordset->Close(); // 记得关闭
m_pConnection->Close();
m_pRecordset = NULL;
m_pConnection = NULL;
CoUninitialize();
1楼哥们贴的代码缺了2行、、、、
m_pConnection.CreateInstance(__uuidof(Connection));
m_pRecordset.CreateInstance(__uuidof(Recordset));
总得实例化以后才能使用对象啊
通常是在StdAfx.h文件进行#import 。。。。
然后在类声明里面声明
_ConnectionPtr m_pConnection(_uuidof(Connection));
_RecordsetPtr m_pRecordset(_uuidof(Recordset));
在类构造函数里CoInitialize(NULL);,在析构函数CoUninitialize();
至于实例化,就看你要的是全局对象,还是在某个函数中使用了,看代码了
.......