「カテゴリ:MFC」の版間の差分
ナビゲーションに移動
検索に移動
編集の要約なし
(空白のページを作成しました) |
編集の要約なし |
||
1行目: | 1行目: | ||
== 概要 == | |||
ODBC(Open Database Connectivity)は、Microsoft社が提唱したDBMS接続用のAPI仕様である。<br> | |||
DBMSの差異はODBCドライバによって吸収される為、ODBCの手順に従ってプログラムを作成すれば、基本的な差異を意識せずプログラムすることができる。<br> | |||
MFC ODBCクラスは、Visual C++のODBCクラスライブラリである。<br><br> | |||
<center> | |||
{| class="wikitable" | |||
|- | |||
! ODBCドライバ !! ファイル | |||
|- | |||
| Microsoft Access Driver (*.mdb) || ODBCJT32.DLL | |||
|- | |||
| Microsoft Text Driver (*.txt; *.csv) || ODBCJT32.DLL | |||
|- | |||
| Microsoft Excel Driver (*.xls) || ODBCJT32.DLL | |||
|- | |||
| Microsoft dBase Driver (*.dbf) || ODBCJT32.DLL | |||
|- | |||
| Microsoft ODBC for Oracle || MSORCL32.DLL | |||
|- | |||
| Microsoft Paradox Driver (*.db ) || ODBCJT32.DLL | |||
|- | |||
| SQL Server || SQLSRV32.DLL | |||
|- | |||
| Microsoft Access Driver (*.mdb, *.accdb) || ACEODBC.DLL | |||
|- | |||
| SQL Server Native Client 10.0 || SQLNCLI10.DLL | |||
|} | |||
</center> | |||
<br><br> | |||
== サンプルコード == | |||
* <big>'''SQL Serverを使用する'''</big> | |||
<source lang="cpp"> | |||
#include <afx.h> | |||
#include <afxdb.h> | |||
int _tmain( int argc, TCHAR* argv[] ) | |||
{ | |||
CDatabase db; | |||
CString strCon = _T("Driver={SQL Server};SERVER=(local);DATABASE=master;UID=sa;PWD=P@ssW0rd"); | |||
CString strSQL = _T("SELECT 'Hello, ODBC(MFC) World!' AS Message"); | |||
db.OpenEx( strCon ); | |||
CRecordset rs( &db ); | |||
rs.Open( CRecordset::forwardOnly, strSQL ); | |||
CString strMessage; | |||
while( !rs.IsEOF() ) | |||
{ | |||
rs.GetFieldValue( (short)0, strMessage ); | |||
_tprintf( _T("%sn"), (LPCTSTR)strMessage ); | |||
rs.MoveNext(); | |||
} | |||
rs.Close(); | |||
db.Close(); | |||
return 0; | |||
} | |||
</source> | |||
<br> | |||
* <big>'''Oracle Databaseを使用'''</big> | |||
<source lang="cpp"> | |||
#include <afx.h> | |||
#include <afxdb.h> | |||
int _tmain( int argc, TCHAR* argv[] ) | |||
{ | |||
CDatabase db; | |||
CString strCon = _T("Driver={Microsoft ODBC for Oracle};SERVER=ORCL;UID=scott;PWD=tiger"); | |||
CString strSQL = _T("SELECT 'Hello, ODBC(MFC) World!' AS Message FROM DUAL"); | |||
db.OpenEx( strCon ); | |||
CRecordset rs( &db ); | |||
rs.Open( CRecordset::forwardOnly, strSQL ); | |||
CString strMessage; | |||
while( !rs.IsEOF() ) | |||
{ | |||
rs.GetFieldValue( (short)0, strMessage ); | |||
_tprintf( _T("%sn"), (LPCTSTR)strMessage ); | |||
rs.MoveNext(); | |||
} | |||
rs.Close(); | |||
db.Close(); | |||
return 0; | |||
} | |||
</source> | |||
<br> | |||
* <big>'''MySQLを使用'''</big> | |||
<source lang="cpp"> | |||
#include <afx.h> | |||
#include <afxdb.h> | |||
int _tmain( int argc, TCHAR* argv[] ) | |||
{ | |||
CDatabase db; | |||
CString strCon = _T("Driver={MySQL ODBC 5.1 Driver};Server=localhost;UID=root;PWD=P@ssW0rd"); | |||
CString strSQL = _T("SELECT 'Hello, ODBC(MFC) World!' AS Message"); | |||
db.OpenEx( strCon ); | |||
CRecordset rs( &db ); | |||
rs.Open( CRecordset::forwardOnly, strSQL ); | |||
CString strMessage; | |||
while( !rs.IsEOF() ) | |||
{ | |||
rs.GetFieldValue( (short)0, strMessage ); | |||
_tprintf( _T("%sn"), (LPCTSTR)strMessage ); | |||
rs.MoveNext(); | |||
} | |||
rs.Close(); | |||
db.Close(); | |||
return 0; | |||
} | |||
</source> | |||
<br> | |||
* <big>'''Jet Databaseを使用'''</big> | |||
<source lang="cpp"> | |||
#include <afx.h> | |||
#include <afxdb.h> | |||
int _tmain( int argc, TCHAR* argv[] ) | |||
{ | |||
CDatabase db; | |||
CString strCon = _T("Driver={Microsoft Access Driver (*.mdb)};DBQ=hello.mdb"); | |||
CString strSQL = _T("SELECT 'Hello, ODBC(MFC) World!' AS Message"); | |||
db.OpenEx( strCon ); | |||
CRecordset rs( &db ); | |||
rs.Open( CRecordset::forwardOnly, strSQL ); | |||
CString strMessage; | |||
while( !rs.IsEOF() ) | |||
{ | |||
rs.GetFieldValue( (short)0, strMessage ); | |||
_tprintf( _T("%sn"), (LPCTSTR)strMessage ); | |||
rs.MoveNext(); | |||
} | |||
rs.Close(); | |||
db.Close(); | |||
return 0; | |||
} | |||
</source> | |||
<br> | |||
* <big>'''Ace Databaseを使用'''</big> | |||
<source lang="cpp"> | |||
#include <afx.h> | |||
#include <afxdb.h> | |||
int _tmain( int argc, TCHAR* argv[] ) | |||
{ | |||
CDatabase db; | |||
CString strCon = _T("Driver={Microsoft Access Driver (*.mdb, *.accdb)};DBQ=.\hello.accdb"); | |||
CString strSQL = _T("SELECT 'Hello, ODBC World!' AS Message"); | |||
db.OpenEx( strCon ); | |||
CRecordset rs( &db ); | |||
rs.Open( CRecordset::forwardOnly, strSQL ); | |||
CString strMessage; | |||
while( !rs.IsEOF() ) | |||
{ | |||
rs.GetFieldValue( (short)0, strMessage ); | |||
_tprintf( _T("%sn"), (LPCTSTR)strMessage ); | |||
rs.MoveNext(); | |||
} | |||
rs.Close(); | |||
db.Close(); | |||
return 0; | |||
} | |||
</source> | |||
<br><br> | |||
__FORCETOC__ | |||
[[カテゴリ:MFC]] |