vc60 + ado 中怎么获取 excel 表格的字段名
vc60 + ado 中如何获取 excel 表格的字段名?
网上找到的例子一般都是获取access数据库的字段名,有关获取excel字段名的文章几乎没有(我没找到,呵呵),后来想了很多办法还是无法解决,只好请坛子里的高手出马了,感谢所有回答问题的兄弟^_^
代码:(当然,是网上敲来的)
//////////////////////////////////////////////////////
HRESULT hr;
_bstr_t mStrSQL;
CString strColName;
BSTR bstrColName;
long ColCount,i;
Field* field = NULL;
Fields* fields = NULL;
LPCTSTR nameField;
// 打开记录集,得到字段名,并将字段名信息添加到ListBox中
mStrSQL = "SELECT * FROM Images ";
m_pRecordset-> Open(mStrSQL,
m_pConnection.GetInterfacePtr(),
adOpenDynamic,
adLockOptimistic,
adCmdText);
hr = m_pRecordset-> get_Fields(&fields); // 得到记录集的字段集和
if(SUCCEEDED(hr))
fields-> get_Count(&ColCount);
m_FieldsList.ResetContent();
// 得到记录集的字段集合中的字段的总个数
for(i = 0; i < ColCount; i++)
{
fields-> Item[i]-> get_Name(&bstrColName); // 得到记录集中的字段名
strColName = bstrColName;
nameField = strColName;
m_FieldsList.AddString(nameField);
}
if(SUCCEEDED(hr))
fields-> Release(); // 释放指针
// 关闭记录集
m_pRecordset-> Close();
///////////////////////////////////////////////////////
问题:
1、如果是打开access数据库则完全没有问题,打开excel表格则会出现runtime error 错误,虽然同样编译无错误无警告(当然之前我连接的是excle数据,能正确获取表名)。
2、跟踪代码,个人判断应该是m_pRecordset-> Open(。。。);里出了问题,可能是sql语句无法正确执行,也可能是不该用“Images”,但我用了“Type”也不行,究竟怎么回事呢,郁闷中。
各位大虾烦请帮帮小弟
------解决方案--------------------
请问楼主是怎么解决的?
另外,请教楼主VC ADO 连接Excel的连接字符串是怎样的?
------解决方案--------------------
请问楼主是怎么解决的?我也要学这个,急!!!!
网上找到的例子一般都是获取access数据库的字段名,有关获取excel字段名的文章几乎没有(我没找到,呵呵),后来想了很多办法还是无法解决,只好请坛子里的高手出马了,感谢所有回答问题的兄弟^_^
代码:(当然,是网上敲来的)
//////////////////////////////////////////////////////
HRESULT hr;
_bstr_t mStrSQL;
CString strColName;
BSTR bstrColName;
long ColCount,i;
Field* field = NULL;
Fields* fields = NULL;
LPCTSTR nameField;
// 打开记录集,得到字段名,并将字段名信息添加到ListBox中
mStrSQL = "SELECT * FROM Images ";
m_pRecordset-> Open(mStrSQL,
m_pConnection.GetInterfacePtr(),
adOpenDynamic,
adLockOptimistic,
adCmdText);
hr = m_pRecordset-> get_Fields(&fields); // 得到记录集的字段集和
if(SUCCEEDED(hr))
fields-> get_Count(&ColCount);
m_FieldsList.ResetContent();
// 得到记录集的字段集合中的字段的总个数
for(i = 0; i < ColCount; i++)
{
fields-> Item[i]-> get_Name(&bstrColName); // 得到记录集中的字段名
strColName = bstrColName;
nameField = strColName;
m_FieldsList.AddString(nameField);
}
if(SUCCEEDED(hr))
fields-> Release(); // 释放指针
// 关闭记录集
m_pRecordset-> Close();
///////////////////////////////////////////////////////
问题:
1、如果是打开access数据库则完全没有问题,打开excel表格则会出现runtime error 错误,虽然同样编译无错误无警告(当然之前我连接的是excle数据,能正确获取表名)。
2、跟踪代码,个人判断应该是m_pRecordset-> Open(。。。);里出了问题,可能是sql语句无法正确执行,也可能是不该用“Images”,但我用了“Type”也不行,究竟怎么回事呢,郁闷中。
各位大虾烦请帮帮小弟
------解决方案--------------------
请问楼主是怎么解决的?
另外,请教楼主VC ADO 连接Excel的连接字符串是怎样的?
------解决方案--------------------
请问楼主是怎么解决的?我也要学这个,急!!!!