📢 Webサイト閉鎖と移転のお知らせ
このWebサイトは2026年9月に閉鎖いたします。
新しい記事は移転先で追加しております。(旧サイトでは記事を追加しておりません)
細 文字列「</source>」を「</syntaxhighlight>」に置換 |
編集の要約なし |
||
| 1行目: | 1行目: | ||
== 概要 == | == 概要 == | ||
ここでは、MFCとミドルウェアであるODBCを使用したデータベース処理を記載する。<br> | |||
<br> | |||
上記を使用したデータベースの更新手順は、以下の2つの項目からなる。<br> | 上記を使用したデータベースの更新手順は、以下の2つの項目からなる。<br> | ||
# | # ODBCアドミニストレータでのデータソース登録 | ||
# | # データベースの操作 | ||
<br><br> | <br><br> | ||
== | == SELECT == | ||
<syntaxhighlight lang="c++"> | |||
<syntaxhighlight lang=" | |||
#include <afxdb.h> | #include <afxdb.h> | ||
| 26行目: | 26行目: | ||
// 実行 | // 実行 | ||
CRecordset rs( &db ); | CRecordset rs(&db); | ||
try | try | ||
{ | { | ||
rs.Open( CRecordset::forwardOnly, _T("select * from test") ); | // SQLコマンドの実行 | ||
rs.Open( CRecordset::forwardOnly, _T("select * from test") ); | |||
CODBCFieldInfo fi; | CODBCFieldInfo fi; | ||
| 52行目: | 53行目: | ||
CString strValue; | CString strValue; | ||
rs.GetFieldValue(index, _T(strValue)); | rs.GetFieldValue(index, _T(strValue)); | ||
TRACE("%s\n",strValue); | TRACE("%s\n", strValue); | ||
} | } | ||
rs.MoveNext(); | rs.MoveNext(); | ||
| 58行目: | 59行目: | ||
} | } | ||
catch(...) | catch(...) | ||
{ // SQLがエラーを発生した場合はここで捕捉 | { // SQLがエラーを発生した場合はここで捕捉 | ||
// メモリリークのように見えるがODBCドライバが自動的に解放する | |||
} | } | ||
| 67行目: | 68行目: | ||
</syntaxhighlight> | </syntaxhighlight> | ||
<br><br> | <br><br> | ||
<syntaxhighlight lang=" | == UPDATE / INSERT / DELETE == | ||
<syntaxhighlight lang="c++"> | |||
void CSampleDlg::OnBnClickedQueryButton2() | void CSampleDlg::OnBnClickedQueryButton2() | ||
{ | { | ||
| 86行目: | 88行目: | ||
try | try | ||
{ | { | ||
db.ExecuteSQL("create table test(a text,b text)"); | db.ExecuteSQL("create table test(a text, b text)"); // 各種SQLコマンドの実行 複数実行可能 | ||
// db.ExecuteSQL("insert into test(a,b) values('inaba','minoru')"); // 各種SQLコマンドの実行 複数実行可能 | // db.ExecuteSQL("insert into test(a,b) values('inaba','minoru')"); // 各種SQLコマンドの実行 複数実行可能 | ||
// db.ExecuteSQL("delete from test where a='inaba'"); // 各種SQLコマンドの実行 複数実行可能 | // db.ExecuteSQL("delete from test where a='inaba'"); // 各種SQLコマンドの実行 複数実行可能 | ||
| 92行目: | 94行目: | ||
} | } | ||
catch(...) | catch(...) | ||
{ // SQLでエラーが発生した場合はここで捕捉できる | { // SQLでエラーが発生した場合はここで捕捉できる | ||
// メモリリークのように見えるがODBCドライバが自動的に解放する | |||
} | } | ||