Hello, DAO(MFC) World!
Posted on 3月 26th, 2012 by cx20
DAO(MFC)
MFC(Microsoft Foundation Class)は、Visual C++ 用のクラスライブラリである。
MFC DAO クラスは、DAO(Data Access Object)のラップクラスとして実装されている。
現在、DAO クラスは既存のアプリケーションの保守の為だけに残されており、新しいプロジェクトでは ODBC クラスが推奨されている。
なお、x64 プラットフォームでは DAO クラスはサポートされておらず、コンパイルエラーとなる。
ソースコード(VC + MFC + DAO + Jet データベース)
#include <afx.h>
#include <afxdao.h>
int _tmain( int argc, TCHAR* argv[] )
{
CDaoDatabase db;
db.Open( _T("hello.mdb") );
CDaoRecordset rs( &db );
CString strSQL = _T("SELECT 'Hello, DAO(MFC) World!' AS Message");
rs.Open(dbOpenDynaset, strSQL, dbReadOnly);
while ( !rs.IsEOF() )
{
COleVariant varValue = rs.GetFieldValue( 0 );
_tprintf( _T("%sn"), V_BSTRT( &varValue ) );
rs.MoveNext();
}
rs.Close();
db.Close();
return 0;
} |
#include <afx.h>
#include <afxdao.h>
int _tmain( int argc, TCHAR* argv[] )
{
CDaoDatabase db;
db.Open( _T("hello.mdb") );
CDaoRecordset rs( &db );
CString strSQL = _T("SELECT 'Hello, DAO(MFC) World!' AS Message");
rs.Open(dbOpenDynaset, strSQL, dbReadOnly);
while ( !rs.IsEOF() )
{
COleVariant varValue = rs.GetFieldValue( 0 );
_tprintf( _T("%sn"), V_BSTRT( &varValue ) );
rs.MoveNext();
}
rs.Close();
db.Close();
return 0;
}
ソースコード(VC + MFC + DAO + ODBC + SQL Server)
#include <afx.h>
#include <afxdao.h>
int _tmain( int argc, TCHAR* argv[] )
{
CDaoDatabase db;
db.Open( _T(""), FALSE, FALSE,
_T("Driver={SQL Server};SERVER=(local);DATABASE=master;UID=sa;PWD=P@ssW0rd") );
CDaoRecordset rs( &db );
CString strSQL = _T("SELECT 'Hello, DAO(MFC) World!' AS Message");
rs.Open(dbOpenDynaset, strSQL, dbReadOnly);
while ( !rs.IsEOF() )
{
COleVariant varValue = rs.GetFieldValue( 0 );
_tprintf( _T("%sn"), V_BSTRT( &varValue ) );
rs.MoveNext();
}
rs.Close();
db.Close();
return 0;
} |
#include <afx.h>
#include <afxdao.h>
int _tmain( int argc, TCHAR* argv[] )
{
CDaoDatabase db;
db.Open( _T(""), FALSE, FALSE,
_T("Driver={SQL Server};SERVER=(local);DATABASE=master;UID=sa;PWD=P@ssW0rd") );
CDaoRecordset rs( &db );
CString strSQL = _T("SELECT 'Hello, DAO(MFC) World!' AS Message");
rs.Open(dbOpenDynaset, strSQL, dbReadOnly);
while ( !rs.IsEOF() )
{
COleVariant varValue = rs.GetFieldValue( 0 );
_tprintf( _T("%sn"), V_BSTRT( &varValue ) );
rs.MoveNext();
}
rs.Close();
db.Close();
return 0;
}
ソースコード(VC + MFC + DAO + ODBC + Oracle)
#include <afx.h>
#include <afxdao.h>
int _tmain( int argc, TCHAR* argv[] )
{
CDaoDatabase db;
db.Open( _T(""), FALSE, FALSE,
_T("ODBC;Driver={Oracle in OraDb11g_home1};DBQ=ORCL;UID=scott;PWD=tiger;") );
CDaoRecordset rs( &db );
CString strSQL = _T("SELECT 'Hello, DAO(MFC) World!' AS Message");
rs.Open(dbOpenDynaset, strSQL, dbReadOnly);
while ( !rs.IsEOF() )
{
COleVariant varValue = rs.GetFieldValue( 0 );
_tprintf( _T("%sn"), V_BSTRT( &varValue ) );
rs.MoveNext();
}
rs.Close();
db.Close();
return 0;
} |
#include <afx.h>
#include <afxdao.h>
int _tmain( int argc, TCHAR* argv[] )
{
CDaoDatabase db;
db.Open( _T(""), FALSE, FALSE,
_T("ODBC;Driver={Oracle in OraDb11g_home1};DBQ=ORCL;UID=scott;PWD=tiger;") );
CDaoRecordset rs( &db );
CString strSQL = _T("SELECT 'Hello, DAO(MFC) World!' AS Message");
rs.Open(dbOpenDynaset, strSQL, dbReadOnly);
while ( !rs.IsEOF() )
{
COleVariant varValue = rs.GetFieldValue( 0 );
_tprintf( _T("%sn"), V_BSTRT( &varValue ) );
rs.MoveNext();
}
rs.Close();
db.Close();
return 0;
}
コンパイル&リンク方法(Visual C++)
実行結果
Categories: DAO, library, MFC, SQL