知秋贺 2017-10-24 08:35 采纳率: 0%
浏览 2084
已结题

问问MFC中利用ODBC打开Excel出错的问题!!???

各位大拿好,最近使用odbc对execl操作出现了问题,却一直没有找到解决办法,希望有人能够帮助看看,谢谢各位了。
事情是这样,以前是可以用的,电脑的win10系统升级了后,使用的wps也升级了。没有装微软的execl.
 出现了如下错误:
 ![图片说明](https://img-ask.csdn.net/upload/201710/24/1508833944_486846.png)
非法的连接串属性FIRSTROWHASNAMES

非法的连接串属性CREATE_DB
非法的连接串属性FIRSTROWHASNAMES
非法的连接串属性CREATE_DB
非法的连接串属性FIRSTROWHASNAMES
非法的连接串属性CREATE_DB
非法的连接串属性FIRSTROWHASNAMES
非法的连接串属性CREATE_DB
非法的连接串属性FIRSTROWHASNAMES
部分代码如下:
if (m_bExcel) // If file is an Excel spreadsheet
{
m_Database = new CDatabase;
GetExcelDriver();
m_sDsn.Format(L"DRIVER={%s};DSN='';FIRSTROWHASNAMES=1;READONLY=FALSE;CREATE_DB=%s;DBQ=%s", m_sExcelDriver, m_sFile, m_sFile);
if (Open())
{
if (m_bBackup)
{
if ((m_bBackup) && (m_bAppend))
{
CString tempSheetName = m_sSheetName;
m_sSheetName = L"CSpreadSheetBackup";
m_bAppend = false;
if (!Commit())
{
m_bBackup = false;
}
m_bAppend = true;
m_sSheetName = tempSheetName;
m_dCurrentRow = 1;
}
}
}
}

在执行Open()时出的错,open函数如下:
bool CSpreadSheet::Open()

{
if (m_bExcel) // If file is an Excel spreadsheet
{
BOOL bOK = m_Database->OpenEx(m_sDsn, CDatabase::noOdbcDialog);
// Open Sheet
m_rSheet = new CRecordset( m_Database );
m_sSql.Format(L"SELECT * FROM [%s$A1:IV65536]", m_sSheetName);
try
{
m_rSheet->Open(CRecordset::forwardOnly, m_sSql, CRecordset::readOnly);
}
catch(...)
{
CString csErr = GetLastError();
delete m_rSheet;
m_rSheet = NULL;
m_Database->Close();
return false;
}(部分代码)

  • 写回答

8条回答 默认 最新

  • 网络小咖 2017-10-24 08:51
    关注

    应该是模板问题,解析的模板对应不上吧,你可以看下

    评论

报告相同问题?

悬赏问题

  • ¥15 求差集那个函数有问题,有无佬可以解决
  • ¥15 【提问】基于Invest的水源涵养
  • ¥20 微信网友居然可以通过vx号找到我绑的手机号
  • ¥15 寻一个支付宝扫码远程授权登录的软件助手app
  • ¥15 解riccati方程组
  • ¥15 display:none;样式在嵌套结构中的已设置了display样式的元素上不起作用?
  • ¥15 使用rabbitMQ 消息队列作为url源进行多线程爬取时,总有几个url没有处理的问题。
  • ¥15 Ubuntu在安装序列比对软件STAR时出现报错如何解决
  • ¥50 树莓派安卓APK系统签名
  • ¥65 汇编语言除法溢出问题