NX二次开发源码分享:使用MFC数据库的方式访问excel数值
头文件,加入 #include <afxdb.h>
void excelTest::do_it()
{
// TODO: add your code here
CDatabase Database; // 定义一个MFC的CDatabse数据库类对象Databse
CString SQLCommand = "select * from plmhome"; // SQL查询语句
DWORD dwOptions = 0; // 设置连接的建立方式
CDBVariant temp; // 数据库数据通用类型
int result; // 储存返回值的变量
char cyl_height;
char cyl_diam;
double *cylinderValue = NULL;
try
{
result = Database.OpenEx(_T("DSN=plmhome"), dwOptions );// 打开数据库
if( result != 0 ) // 如果成功打开
{
CRecordset rs( &Database );// 定义记录集
if ( rs.Open( CRecordset::snapshot, SQLCommand ) != false )
{
rs.MoveFirst( );
short nFields = rs.GetODBCFieldCount( ); // 获取记录的字段数目
while( !rs.IsEOF( ) )
{
cylinderValue =(double *)malloc( nFields * sizeof(double) );
for( short index = 0; index < nFields; index++ )
{
rs.GetFieldValue( index, temp );
cylinderValue = temp.m_dblVal;
}
sprintf(cyl_height,"%f",cylinderValue );
sprintf(cyl_diam,"%f",cylinderValue );
rs.MoveNext( );
free(cylinderValue);
}
rs.Close( ); // 关闭记录集
}
Database.Close(); // 关门数据库连接
}
}
catch( CDBException *pe ) // 出错处理
{
AfxMessageBox( _T("Exception!" ));
AfxMessageBox( pe->m_strError );
pe -> Delete( );
}
}
这个运行的怎么样,上个图看看:)
页:
[1]