クラスの新規作成でクラスを作ります。基本クラスはCRecordSetを選びます。データベースのオプションでは
コントロールパネルのODBCであらかじめ作成していたデータソースを選択し、レコードセットタイプは「ダイナ
セット」を選択します。
最後に、データベースを選びます。
もし、プロジェクトの新規作成のときに「データベースのサポート」を「しない」と選択したときには、「stdafx.h」
の中に「#include <afxdb.h>」を書き加えます。
データベースを使いたいときは、使う処理を書いたファイルに作成したレコードセットクラスのヘッダファイルをイン
クルードしてください。(例えばCRecSetクラスなら"RecSet.h"をインクルードする。)
このサンプルプログラムの対象としているデータベースはID,name.telの3項目データベースで、作成した派生レコード セットクラスはCRecSetクラスです。
CRecSet rs; //作成したレコードセットクラス CString s_name; CString s_tel; rs.Open(); if(!rs.CanAppend()){ AfxMessageBox("追加できません"); return; } rs.AddNew(); ((CEdit*)GetDlgItem(IDC_NAME))->GetWindowText(s_name); ((CEdit*)GetDlgItem(IDC_TEL))->GetWindowText(s_tel); rs.m_name=s_name; rs.m_tel=s_tel; if(!rs.Update()) AfxMessageBox("更新できません"); rs.Requery(); rs.Close(); |
CRecSet rs; rs.Open(); if(!rs.IsEOF()){ rs.MoveFirst(); //本当はここで編集するレコードに移動するが、今回は省略 rs.Edit(); ((CEdit*)GetDlgItem(IDC_EDIT_NAME))->GetWindowText(rs.m_name); ((CEdit*)GetDlgItem(IDC_EDIT_TEL))->GetWindowText(rs.m_tel); rs.Update(); } rs.Close(); |
CRecSet rs; CString s_name,s_tel; ((CEdit*)GetDlgItem(IDC_NAME))->GetWindowText(s_name); ((CEdit*)GetDlgItem(IDC_TEL))->GetWindowText(s_tel); rs.m_strFilter = "tel LIKE '" + s_tel + "'"; //フィルタをかけて検索(文法はSQL) rs.Open(); if(!rs.IsEOF()){ rs.MoveFirst(); while(!rs.IsEOF()){ AfxMessageBox(rs.m_name); rs.MoveNext(); } } rs.Close(); |
CRecSet rs; rs.Open(); if(!rs.IsEOF()){ rs.MoveFirst(); //本当はここで削除するレコードに移動するが、今回は省略 rs.Delete(); } rs.Close(); |