在VC6中,提供了CDatabase和CRecordset两个数据库操作相关的类(具体用法请参考MSDN)。
下面是使用这两个类操作ODBC数据库的示例:
LPCTSTR CalcScore(LPCTSTR lpszScoreFile, LPTSTR lpResult, int nResultSize )
{
CDatabase mydb;//数据库对象
CRecordset myrs( &mydb);//记录集对象
//打开数据库
mydb.Close();
if ( mydb.OpenEx( _T("DSN=SQL Server;DB=usr;UID=SA;PWD=passwd") ) == 0 )
{
AfxMessageBox("Opening database error!");
return NULL;
}
//获取记录
if ( myrs.Open( CRecordset::forwardOnly, _T(CString("select * from usr..yg_check where gender='") + "' order by id") ) == 0 )
{
AfxMessageBox("Faild to open table!");
return NULL;
}
//读取字段值
CString strResult;
while( !myrs.IsEOF() )
{
myrs.GetFieldValue( "signal", strSignal );
//裁剪空格
strSignal.TrimLeft();
strSignal.TrimRight();
//操作字段
char tmpStr[8];
strResult += strSignal + ":" + itoa( stdScore, tmpStr, 10 ) + ",";
//移动向下一条记录
myrs.MoveNext();
}
strncpy( lpResult, (LPCTSTR)strResult, nResultSize );
myrs.Close();
mydb.Close();
return lpResult;
}
阅读(1848) | 评论(0) | 转发(0) |