void CVcExcelDlg::OnBnClickedButton2()
{
// TODO: 在此添加控件通知处理程序代码
CDatabase db;
CString sdriver;// = "Microsoft Excel Driver(*.xls)";
CString sfname = "Book.xls";
CString sSql, arr[9];
CFileDialog dlgFile(TRUE, NULL, NULL, OFN_HIDEREADONLY, _T("Excel 文件(*.xls)|*.xls||"), NULL);
CString strFileName;
CString FileName, strExtension;
if(dlgFile.DoModal() == IDOK)
{
strFileName = dlgFile.GetPathName();
}
sdriver = GetExcelDriver();
if (sdriver.IsEmpty())//没有发现驱动
{
AfxMessageBox("没有安装Excel驱动!");
return;
}
FileName=this->GetFileTitleFromFileName(strFileName,TRUE);//获取路径文件
sSql.Format("DRIVER={%s};DSN='';DBQ=%s",sdriver,FileName);
if (!db.OpenEx(sSql,CDatabase::noOdbcDialog))
{
MessageBox("打开EXCEL文件失败!", "错误");
return;
}
CRecordset pset(&db);
sSql = "SELECT 学号,姓名,性别,高等数学,大学英语,普通物理,电子技术,电路实验,体育 FROM DATA_TABLE ORDER BY 姓名";
pset.Open(CRecordset::forwardOnly, sSql, CRecordset::readOnly);
while(!pset.IsEOF())
{
pset.GetFieldValue("学号", arr[0]);
pset.GetFieldValue("姓名", arr[1]);
pset.GetFieldValue("性别", arr[2]);
pset.GetFieldValue("高等数学", arr[3]);
pset.GetFieldValue("大学英语", arr[4]);
pset.GetFieldValue("普通物理", arr[5]);
pset.GetFieldValue("电子技术", arr[6]);
pset.GetFieldValue("电路实验", arr[7]);
pset.GetFieldValue("体育", arr[8]);
}
}
以上为部分代码,主要是实现EXCEL表数据导入到List控件列表中,但报错了
求解