用这个程序对数据库调用错误,怎么改?跪求!!!
int main (void)
{
//-------------------------------------------------------------------------调用数据库
_ConnectionPtr m_pConnection;
CoInitialize(NULL);
m_pConnection.CreateInstance(__uuidof(Connection));
try
{
//------------------------------------------------------------------------ 打开本地Access库database4.mdb
m_pConnection->Open("Provider=Microsoft.Jet.OLEDB.12.0;DataSource=D:\\Program Files:\\VC2009:\\database:\\Database4.accdb", "","",adModeUnknown);
}
catch(_com_error e)
{
cout<<"数据库连接失败,确认数据库database4.mdb是否在当前路径下!";
return false;
}
_RecordsetPtr m_pRecordset;
m_pRecordset.CreateInstance(__uuidof(Recordset));
//------------------------------------------------------------------------在ADO操作中建议语句中要常用try...catch()来捕获错误信息,
try
{
m_pRecordset->Open("SELECT * FROM DemoTable",//--------------查询表中所有字段
m_pConnection.GetInterfacePtr(), //-------------------------获取库接库的IDispatch指针
adOpenDynamic,
adLockOptimistic,
adCmdText);
}
catch(_com_error *e)
{
//AfMessageBox(e->ErrorMessage());
cout<<e->ErrorMessage()<<endl;
}
m_pRecordset->Close();
//-------------------------------------------------------------------------读数据
variant_t var;
while(!m_pRecordset->adoEOF)
{
var = m_pRecordset->GetCollect("Theta");
if(var.vt != VT_NULL)
for (int i = 0 ; i < 12 ; i++)
for (int j = 0 ; j < 24 ; j++)
da[i][j] = var;
m_pRecordset->MoveNext();
}
//------------------------------------------------------------------------------关闭数据库
if(m_pConnection->State)
m_pConnection->Close();
m_pConnection= NULL;