|
GetData はオリジナルユーザメンバ関数です
(ProcOperator、ProcEnd、WMInitdialog はオーバーロードされるメンバ関数)
|
|
| #include "stdafx.h"
#include "resource.h"
#include "MyDlg.h"
//////////////////////////////////////////////////////////////////////
// 構築/消滅
//////////////////////////////////////////////////////////////////////
MyDlg::MyDlg()
{
}
MyDlg::~MyDlg()
{
}
// *********************************************************
// ダイアログ初期化イベント
// *********************************************************
void MyDlg::WMInitdialog()
{
this->CenterWindow();
// ダイアログのプロパティでシステムメニューのチェックボックスを外して下さい
this->ChangeStyle( WS_MINIMIZEBOX | WS_SYSMENU, 0 );
this->ChangeExStyle( WS_EX_APPWINDOW, 0 );
this->ChangeIcon( IDI_HR010 );
this->StatusCreate( 0 );
LboxString Buff;
// MySQL 接続文字列
Buff.operator = ("MySQL,lightbox,root,");
CurDb.SetConnectString( 3, &Buff );
// リストビューインスタンス作成
LView = new LboxListview( ::GetDlgItem( hDlg, IDC_LIST1 ), 0 );
LView->Grid();
}
// *********************************************************
// ダイアログ終了処理
// *********************************************************
void MyDlg::ProcEnd()
{
delete this->LView;
}
// *********************************************************
// オペレータイベント
// *********************************************************
void MyDlg::ProcOperator()
{
switch( ControlId ) {
case IDOK:
GetData();
break;
}
}
// *********************************************************
// 問合せ処理
// *********************************************************
void MyDlg::GetData()
{
if ( !CurDb.Connect() ) {
MsgOk("接続に失敗しました \n%s", CurDb.ErrMessage.szLboxString);
return;
}
LboxString Query;
Query.operator = ("select * from 商品分類マスタ");
int nRet;
LView->Hide();
this->StatusSetText( "" );
nRet = CurDb.LoadSqlData( LView, 0, &Query );
switch( nRet ) {
case -1:
this->StatusSetText( &(CurDb.ErrMessage) );
break;
case 0:
this->StatusSetText( "対象データが存在しません" );
break;
default:
this->StatusPrintf( "%d 件のデータが選択されました", nRet );
break;
}
LView->Fit();
LView->Show();
CurDb.DisConnect();
}
| |
|
その他のデータベース
| switch( nType ) {
case 0: // Excel
Buff.operator = ("d:\\temp\\販売管理.xls");
CurDb.SetConnectString( nType, &Buff );
break;
case 1: // MDB
Buff.operator = ("d:\\temp\\販売管理.mdb");
CurDb.SetConnectString( nType, &Buff );
break;
case 2: // SQLServer
Buff.operator = ("localhost,lightbox2,sa,");
CurDb.SetConnectString( nType, &Buff );
break;
case 3: // MySQL
Buff.operator = ("MySQL,lightbox,root,");
CurDb.SetConnectString( nType, &Buff );
break;
case 4: // Oracle
Buff.operator = ("ORA,lightbox,lightbox");
CurDb.SetConnectString( nType, &Buff );
break;
case 5: // PostgreSQL
Buff.operator = ("PostgreSQL,lightbox,lightbox,");
CurDb.SetConnectString( nType, &Buff );
break;
}
| |
|
3,4,5 は ODBC です
Oracle はその仕様上 DSN,ユーザ(スキーマ),パスワード となります
|
|
1) エディットコントロール二つとチェックボックス二つを画面に追加
2) MyDlg クラスに以下を追加
3) WMInitdialog に以下を追加
4) ProcEnd に以下を追加
5) ProcOperator に以下を追加
2) GetData に以下を追加
|
|
メニューを実装し、メニュー項目を追加して ProcOperator に以下を追加
|
|