首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > C++ >

ODBC治理excel文件出错“数值字段溢出”

2014-01-08 
ODBC管理excel文件出错“数值字段溢出”这俩天碰到一个头疼的事,就是excel文件有一种机制就是一列数据类型以

ODBC管理excel文件出错“数值字段溢出”
这俩天碰到一个头疼的事,就是excel文件有一种机制就是一列数据类型以前8行中包含数据为标准确定这一列记录的类型(字符型和数值型)。
可是当一列数据的前8行为空时,CRecordset recSet调用getfieldvalue函数读取这一列的数据是就都是空记录了(实际上第9行就有数值型数据)。
根据我反复的debug发现这应该和记录的类型有关系,所以想在第一行写入一个数值型数据,可是由于excel默认写入是字符型,所以写入第一行的也是字符型记录。求解!!!


sDsn.Format("DRIVER={%s};DSN='''';FIRSTROWHASNAMES=1;READONLY=FALSE;CREATE_DB="%s";DBQ=%s", m_excelDriver, m_excelFileName, m_excelFileName);
database.OpenEx( sDsn, CDatabase::noOdbcDialog );// 打开数据库(即Excel文件)

// 设置读取的查询语句,查询表m_sheetName内的所有列
        sSql = "SELECT * "       
               "FROM [" + m_sheetName + "$] "; 
        CRecordset recSet( &database );// 获取数据集
        recSet.Open( CRecordset::snapshot, sSql, CRecordset::none );// 执行查询语句,读取表m_sheetName

[解决办法]
生成.csv(逗号间隔列,换行间隔行的纯文本文件),在Excel中读入。

热点排行