前面的代码都没有问题,我利用断点找到问题在最后一句,提示IDispatch #error 3089,而且只能建一个表现在,求高手指导啊!!!
try
{
ADOX::_CatalogPtr m_pCatalog = NULL;
hr = m_pCatalog.CreateInstance(__uuidof (ADOX::Catalog));
if(FAILED(hr))
{
_com_issue_error(hr);
}
else
{
m_pCatalog->Create(_bstr_t(strConnection)); //Create MDB
if(m_pCatalog)
{
ADOX::_TablePtr pTable1;
pTable1.CreateInstance(__uuidof(ADOX::Table));
pTable1-> PutName( "波浪");
pTable1-> Columns-> Append( "平均波波高",ADOX::adVarWChar,50);
pTable1-> Columns-> Append( "综合波向",ADOX::adVarWChar,50);
pTable1-> Columns-> Append( "电压",ADOX::adVarWChar,50);
pTable1-> Columns-> Append( "经度",ADOX::adVarWChar,50);
pTable1-> Columns-> Append( "纬度",ADOX::adVarWChar,50);
pTable1-> Columns-> Append( "是否存U盘",ADOX::adVarWChar,50);
m_pCatalog-> Tables-> Append( pTable1.GetInterfacePtr() );
pTable1-> PutName( "波向出现率");
pTable1-> Columns-> Append( "0",ADOX::adVarWChar,40);
pTable1-> Columns-> Append( "22.5",ADOX::adVarWChar,40);
pTable1-> Columns-> Append( "45",ADOX::adVarWChar,40);
pTable1-> Columns-> Append( "67.5",ADOX::adVarWChar,40);
pTable1-> Columns-> Append( "",ADOX::adVarWChar,40);
pTable1-> Columns-> Append( "112.5",ADOX::adVarWChar,40);
pTable1-> Columns-> Append( "135",ADOX::adVarWChar,40);
pTable1-> Columns-> Append( "157.5",ADOX::adVarWChar,40);
pTable1-> Columns-> Append( "180",ADOX::adVarWChar,40);
pTable1-> Columns-> Append( "202.5",ADOX::adVarWChar,40);
pTable1-> Columns-> Append( "225",ADOX::adVarWChar,40);
pTable1-> Columns-> Append( "247.5",ADOX::adVarWChar,40);
pTable1-> Columns-> Append( "270",ADOX::adVarWChar,40);
pTable1-> Columns-> Append( "292.5",ADOX::adVarWChar,40);
pTable1-> Columns-> Append( "315",ADOX::adVarWChar,40);
pTable1-> Columns-> Append( "337.5",ADOX::adVarWChar,40);
m_pCatalog-> Tables-> Append( pTable1.GetInterfacePtr());
m_pCatalog.Release();accessVC ado
try
{
ADOX::_CatalogPtr m_pCatalog = NULL;
hr = m_pCatalog.CreateInstance(__uuidof (ADOX::Catalog));
if(FAILED(hr))
{
_com_issue_error(hr);
}
else
{
m_pCatalog->Create(_bstr_t(strConnection)); //Create MDB
if(m_pCatalog)
{
ADOX::_TablePtr pTable1;
pTable1.CreateInstance(__uuidof(ADOX::Table));
pTable1-> PutName( "波浪");
pTable1-> Columns-> Append( "平均波波高",ADOX::adVarWChar,50);
pTable1-> Columns-> Append( "综合波向",ADOX::adVarWChar,50);
pTable1-> Columns-> Append( "电压",ADOX::adVarWChar,50);
pTable1-> Columns-> Append( "经度",ADOX::adVarWChar,50);
pTable1-> Columns-> Append( "纬度",ADOX::adVarWChar,50);
pTable1-> Columns-> Append( "是否存U盘",ADOX::adVarWChar,50);
m_pCatalog-> Tables-> Append( pTable1.GetInterfacePtr() );
pTable1-> PutName( "波向出现率");
pTable1-> Columns-> Append( "0",ADOX::adVarWChar,40);
pTable1-> Columns-> Append( "22.5",ADOX::adVarWChar,40);
pTable1-> Columns-> Append( "45",ADOX::adVarWChar,40);
pTable1-> Columns-> Append( "67.5",ADOX::adVarWChar,40);
pTable1-> Columns-> Append( "",ADOX::adVarWChar,40);
pTable1-> Columns-> Append( "112.5",ADOX::adVarWChar,40);
pTable1-> Columns-> Append( "135",ADOX::adVarWChar,40);
pTable1-> Columns-> Append( "157.5",ADOX::adVarWChar,40);
pTable1-> Columns-> Append( "180",ADOX::adVarWChar,40);
pTable1-> Columns-> Append( "202.5",ADOX::adVarWChar,40);
pTable1-> Columns-> Append( "225",ADOX::adVarWChar,40);
pTable1-> Columns-> Append( "247.5",ADOX::adVarWChar,40);
pTable1-> Columns-> Append( "270",ADOX::adVarWChar,40);
pTable1-> Columns-> Append( "292.5",ADOX::adVarWChar,40);
pTable1-> Columns-> Append( "315",ADOX::adVarWChar,40);
pTable1-> Columns-> Append( "337.5",ADOX::adVarWChar,40);
m_pCatalog-> Tables-> Append( pTable1.GetInterfacePtr());
m_pCatalog.Release();accessVC ado
try
{
//你的ADO代码
}
catch (_com_error& e)
{
CString strMsg;
strMsg.Format(_T("错误描述:%s\n错误消息%s"),
(LPCTSTR)e.Description(),
(LPCTSTR)e.ErrorMessage());
AfxMessageBox(strMsg);
}