利用ODBC驱动处理Excel时的,一些问题:未发现数据源名称并且未指定默认驱动程序"MICROSOFT EXCEL DRIVER(*.XLS)"
如题,我想利用ODBC驱动创建一个Excel表,并填充数据,结果出现错误:未发现数据源名称并且未指定默认驱动程序
我的代码如下:
void CGridCtrlTestDlg::OnBnClickedSdaochu()
{
USES_CONVERSION;
CDatabase database; //Microsoft Excel Driver(*.xls)
CString sDriver = _T("Microsoft Excel Driver(*.xls)"); //Excel安装驱动 MICROSOFT EXCEL DRIVER(*.XLS)
CString sExceIFile = A2T(ExcelPath); //要建立的 Excel文件
CString sSql;
sSql.Format(_T("DRIVER={%s};DSN='';FIRSTR0WHASNAMES=1; READ0NLY=FALSE; CREATE DB=\"%s\";DBQ = %s"), sDriver, sExceIFile, sExceIFile);
if (!database.OpenEx(sSql, CDatabase::noOdbcDialog)) //运行到这边就报错了
{
MessageBox(_T("创建Excel表格失败!"), _T("数据库错误"));
return;
}
CString sDsn;
char SQL[1024];
memset(SQL, 0, sizeof(SQL));
sDsn.Format(_T("ODBC; DRIVER={%s}; DSN='';DBQ=%s"), sDriver, sExceIFile);
database.Open(NULL, false, false, sDsn);
sSql = _T("create table stock(序号 text,商品名称 text,商品类型 text,价格 text,数量 text,总额 text)");
database.ExecuteSQL(sSql);
for (int i = 0; i < MaxRow + 1; i++)
{
sprintf(SQL,"insert into stock (序号,商品名称,商品类型,价格,数量,总额) values('%s','%s','%s','%s','%s','%s')",
Stock[i][0], Stock[i][1], Stock[i][2], Stock[i][3], Stock[i][4], Stock[i][5]);
sSql = A2T(SQL);
database.ExecuteSQL(sSql);
}
database.Close();
}
由于上传不了截图,我只能说了:
我的系统是WIN10 64位,32位和64位的ODBC数据源都有MICROSOFT EXCEL DRIVER(*.XLS)的驱动?
我想问题出在哪?求大神帮忙!!