以下是代码:
int main(int argc, char* argv[])
{
cout<<"建立连接对象!"<<endl;
CDatabase MyDataBase; cout<<"打开连接!"<<endl;
MyDataBase.OpenEx(_T("DSN=libr;UID=sa;PWD=q1w2e3r4" ),
                 CDatabase::noOdbcDialog ); cout<<"获取默认连接数据库名称!"<<endl;
string aa=MyDataBase.GetDatabaseName();
cout<<""<<aa<<endl; cout<<"建立结果对象!"<<endl;
CRecordset recset(&MyDataBase);  cout<<"执行SELECT * FROM book!"<<endl;
recset.Open(CRecordset::forwardOnly,"SELECT * FROM book",CRecordset::readOnly); 
cout<<"字段数:"<<recset.GetODBCFieldCount()<<endl; CDBVariant var;
cout<<"从结果中读取记录!"<<endl; while (!recset.IsEOF()) 
{  
 recset.GetFieldValue("id",var); 
 cout<<"id字段:"<<var.m_iVal<<endl;
 //recset.GetFieldValue("name",var); 
// cout<<"name字段:"<<var1.m_pstring<<endl;
// cout<<"读取下一条记录!"<<endl;
 recset.MoveNext(); 

printf("Hello World!\n");
return 0;
}
有一张book表,表中有三个字段,id,name,title。从结果集中读取id字段没问题,读取name就出现错误了。。控制台数据库