--b 结帖率确实太低了~ 是不是解决了问题就不管了的那种??以下是使用ODBC操作数据库的代码..关于dsn的配置,这个不用讲吧? 这么简单.在控制面板->管理工具->数据源(ODBC)里面配置就行了. #include "afxdb.h" //--------------------------------------------------------------- // Create and open a database object; // do not load the cursor library CDatabase db; //db.OpenEx( NULL, CDatabase::forceOdbcDialog ); db.OpenEx( "DSN=ODBC数据源名称;UID=;PWD=", CDatabase::noOdbcDialog ); // Create and open a recordset object // directly from CRecordset. Note that a // table must exist in a connected database. // Use forwardOnly type recordset for best // performance, since only MoveNext is required CRecordset rs( &db ); rs.Open( CRecordset::forwardOnly, _T( "select * from 表名" ) ); // Create a CDBVariant object to // store field data CDBVariant varValue; // Loop through the recordset, // using GetFieldValue and // GetODBCFieldCount to retrieve // data in all columns short nFields = rs.GetODBCFieldCount( ); while( !rs.IsEOF( ) ) { for( short index = 0; index < nFields; index++ ) { rs.GetFieldValue( index, varValue ); // do something with varValue AfxMessageBox(*varValue.m_pstring); } rs.MoveNext( ); } rs.Close( ); db.Close( );
我有个建议:你能不能提高你的结贴率啊
#include "afxdb.h" //---------------------------------------------------------------
// Create and open a database object;
// do not load the cursor library
CDatabase db;
//db.OpenEx( NULL, CDatabase::forceOdbcDialog );
db.OpenEx( "DSN=ODBC数据源名称;UID=;PWD=", CDatabase::noOdbcDialog ); // Create and open a recordset object
// directly from CRecordset. Note that a
// table must exist in a connected database.
// Use forwardOnly type recordset for best
// performance, since only MoveNext is required
CRecordset rs( &db );
rs.Open( CRecordset::forwardOnly,
_T( "select * from 表名" ) ); // Create a CDBVariant object to
// store field data
CDBVariant varValue; // Loop through the recordset,
// using GetFieldValue and
// GetODBCFieldCount to retrieve
// data in all columns
short nFields = rs.GetODBCFieldCount( );
while( !rs.IsEOF( ) )
{
for( short index = 0; index < nFields; index++ )
{
rs.GetFieldValue( index, varValue );
// do something with varValue
AfxMessageBox(*varValue.m_pstring);
}
rs.MoveNext( );
} rs.Close( );
db.Close( );