用这个程序对数据库调用错误,怎么改?跪求!!!

mao1395360 2011-08-15 07:25:57
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;
...全文
64 2 打赏 收藏 转发到动态 举报
写回复
用AI写文章
2 条回复
切换为时间正序
请发表友善的回复…
发表回复
jone7319 2011-08-17
  • 打赏
  • 举报
回复
直接用ADOQuery就可解决

TADOQuery *q=TADOQuery(NULL);
q->ConnectionString="Provider=Microsoft.Jet.OLEDB.4.0;Data ource=database4.mdb
;Persist Security Info=False";
q->SQL->Add("select * from emoTable");
q->Open();
jone7319 2011-08-17
  • 打赏
  • 举报
回复
m_pConnection是什么东东?

1,178

社区成员

发帖
与我相关
我的任务
社区描述
C++ Builder 数据库及相关技术
社区管理员
  • 数据库及相关技术社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧