我通过ADO控制Excel。现在基本可以写数据了。但是无法插入字段。
我的程序。
try
{
//打开文件
m_pConn->Provider = L"Microsoft.Jet.OLEDB.4.0";
strCommand.Format("Data Source=%s;Extended Properties=Excel 8.0;", “123.xls");
hr = m_pConn->Open((_bstr_t)strCommand,"","",adConnectUnspecified); //建立表
m_pConn->Execute("CREATE TABLE [Data]([ID] TEXT)",NULL,adCmdText); //写入数据
strPath.Format(_T("INSERT INTO [%s] ([%s]) VALUES (%d)"), "Data", "ID", 1);
m_pConn->Execute((_bstr_t)strPath, NULL, adCmdText); //插入新的字段 (只要写入数据,就无法插入新的字段, 程序报异常,未指定的错误)
strPath.Format(_T("ALTER TABLE [%s] ADD [%s] TEXT null"), "Data", "Value");
pRst = m_pConn->Execute((_bstr_t)strPath, NULL, adCmdText);
}
catch (_com_error &e)
{
CString csTmp;
csTmp.Format("%s", e.ErrorMessage());
TRACE1("%s", e.ErrorMessage()); return e.Error();
}请各位大侠帮我看看到底是什么问题呀?在这里先谢谢了。
我的程序。
try
{
//打开文件
m_pConn->Provider = L"Microsoft.Jet.OLEDB.4.0";
strCommand.Format("Data Source=%s;Extended Properties=Excel 8.0;", “123.xls");
hr = m_pConn->Open((_bstr_t)strCommand,"","",adConnectUnspecified); //建立表
m_pConn->Execute("CREATE TABLE [Data]([ID] TEXT)",NULL,adCmdText); //写入数据
strPath.Format(_T("INSERT INTO [%s] ([%s]) VALUES (%d)"), "Data", "ID", 1);
m_pConn->Execute((_bstr_t)strPath, NULL, adCmdText); //插入新的字段 (只要写入数据,就无法插入新的字段, 程序报异常,未指定的错误)
strPath.Format(_T("ALTER TABLE [%s] ADD [%s] TEXT null"), "Data", "Value");
pRst = m_pConn->Execute((_bstr_t)strPath, NULL, adCmdText);
}
catch (_com_error &e)
{
CString csTmp;
csTmp.Format("%s", e.ErrorMessage());
TRACE1("%s", e.ErrorMessage()); return e.Error();
}请各位大侠帮我看看到底是什么问题呀?在这里先谢谢了。
try catch 中e.Description()报的就是"无效的操作", e.ErrorMessage()报的是"未指定的错误"