Java转C++ 连接数据库出问题 请教C++高手 或是给断源码 在线等
#import "C:\Program Files\Common Files\System\ado\msado15.dll" no_namespace rename("EOF", "adoEOF")HRESULT hr;
try{
::CoInitialize(NULL);
hr = m_pConnection.CreateInstance("ADODB.Connection");
if(SUCCEEDED(hr)) {
//CString strCon = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=Address.mdb";
hr = m_pConnection->Open("Provider=Microsoft.Jet.OLEDB.4.0;Data
Source=D:\\Address.mdb","","",adModeReadWrite);
m_pRecordset.CreateInstance("ADODB.Recordset");
_variant_t RecordsAffected;
m_pRecordset = m_pConnection->Execute("select count(*) from
Linkman",&RecordsAffected,adCmdText);
_variant_t vIndex = long(0);
_variant_t vCount = m_pRecordset->GetCollect(vIndex);
m_pRecordset->Close();
m_pConnection->Close();
CString strMessage;
strMessage.Format("共有%d条记录",vCount.iVal);
AfxMessageBox(strMessage);
MessageBox("连接成功");
CoUninitialize();
}
}catch(_com_error e) {
CString erroraessage;
erroraessage.Format("连接数据库失败!\r\n错误信息:%s",e.ErrorMessage());
AfxMessageBox(erroraessage);
} --------------------编程问答-------------------- 到open方法出的异常 --------------------编程问答-------------------- 什么异常? --------------------编程问答-------------------- 编译没问题 0xE06D7363: Microsoft C++ Exception
messagebox 提示 :数据库连接失败 错误信息:Unkunwn error 0x800A0BB9 --------------------编程问答-------------------- 问题出在那个open函数的最后一个参数,最后一个参数是ConnectModeEnum的权举对象,它可以取好几个值.现在看来取那个adModeReadWrite会造成数据库连接连不上,不过我也不知道是什么原因,只能查相关的文档了,不过MSDN里好像针对ADO的帮助都是VB的,没有VC的. --------------------编程问答-------------------- 为什么把strCon注释掉了,我用_variant_t强制转化CString类型,连接是能够成功的,再要不就看看数据库的配置。
补充:.NET技术 , VC.NET