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;
}

ソースコード(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;
}

ソースコード(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;
}

コンパイル&リンク方法(Visual C++)

C:¥> cl hello.cpp

実行結果

Hello, DAO(MFC) World!

Categories: DAO, library, MFC, SQL

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

WP-SpamFree by Pole Position Marketing