DB マスタメンテ


  メニューから問合せ



MyDlg.cpp
  
#include "stdafx.h"
#include "resource.h"
#include "MyDlg2.h"
#include "MyDlg.h"

USE_OBJECT(MyDlg2,Dlg2)
  

  
// *********************************************************
// オペレータイベント
// *********************************************************
void MyDlg::ProcOperator()
{
	switch( ControlId ) {
		case IDC_CHECK:
			CheckData();
			break;
		case IDC_CANCEL:
			CancelData();
			break;
		case IDC_UPDATE:
			UpdateData();
			break;

		case IDM_EXIT:
			this->PostCommand( IDCANCEL );
			break;

		case IDC_KEY:
			if ( this->NotifyCode == EN_KILLFOCUS ) {
				this->StatusSetText( "" );
				LboxString LWork;
				this->EditGetText( IDC_KEY, &LWork );
				if ( LWork.operator != ("") ) {
					this->EditPrintf(
						IDC_KEY,
						"%04s",
						LWork.szLboxString
					);
				}
			}
			break;

		case IDM_REF:
			Dlg2.Open( this, IDD_DIALOG2 );
			break;

	}
}
  

MyDlg2.h
  
#include "CLClass.h"
#include <LboxDatabase.h>

class MyDlg2 : public CLDlg
{
public:
	void LVDblclick();
	void WMAll();
	void GetData();
	void ProcOperator();
	void ProcEnd();
	void WMInitdialog();
	MyDlg2();
	virtual ~MyDlg2();

	LboxDatabase CurDb;	// データベースオブジェクト(実体型)
	LboxListview *LView;
};
  

MyDlg2.cpp
  
#include "stdafx.h"
#include "resource.h"
#include "MyDlg2.h"
#include "MyDlg.h"

USE_OBJECT(MyDlg,Dlg)

//////////////////////////////////////////////////////////////////////
// 構築/消滅
//////////////////////////////////////////////////////////////////////

MyDlg2::MyDlg2()
{

}

MyDlg2::~MyDlg2()
{

}

// *********************************************************
// ダイアログ初期化イベント
// *********************************************************
void MyDlg2::WMInitdialog()
{
	this->CenterWindow();

	// ダイアログのプロパティでシステムメニューのチェックボックスを外して下さい
	this->ChangeStyle( WS_MINIMIZEBOX | WS_SYSMENU, 0 );
	this->ChangeExStyle( WS_EX_APPWINDOW, 0 );
	this->ChangeIcon( IDI_HM040 );
	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();

	GetData();

	this->MoveWindow( 0, 0 );
}

// *********************************************************
// ダイアログ終了処理
// *********************************************************
void MyDlg2::ProcEnd()
{
	delete LView;
}

// *********************************************************
// オペレータイベント
// *********************************************************
void MyDlg2::ProcOperator()
{
	switch( ControlId ) {
		case IDOK:
			GetData();
			break;
	}
}

// *********************************************************
// 問合せ処理
// *********************************************************
void MyDlg2::GetData()
{
	if ( !CurDb.Connect() ) {
		MsgOk("接続に失敗しました \n%s", CurDb.ErrMessage.szLboxString);
		return;
	}

	LboxString Query;

	Query.operator = ("select * from 社員マスタ");

	LboxString Cond( "" );
	LboxString Buff;

	this->EditGetText( IDC_EDIT1, &Buff );
	Buff.Trim( "  " );
	if ( Buff.operator != ( ""  ) ) {
		if ( Cond.operator == ( "" ) ) {
			Cond.operator += (" where ");
		}
		else {
			Cond.operator += (" and ");
		}
		Cond.operator += (" 氏名 like ");
		Buff.Enclose( "%" );
		Buff.Enclose( "'" );
		Cond.operator += ( &Buff );
	}

	Query.operator += ( &Cond );

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

// *********************************************************
// 初期化とオペレータイベント以外の処理
// *********************************************************
void MyDlg2::WMAll()
{
	USE_LVIEW(LView)
}

// *********************************************************
// ダブルクリックイベント
// *********************************************************
void MyDlg2::LVDblclick()
{
	LboxString LWork;

	if ( LView->IsHandle( this->hTargetWindow ) ) {
		LView->GetColumnText( 0, &LWork );
		Dlg.EditSetText( IDC_KEY, &LWork );
		this->PostCommand( IDCANCEL );
		Dlg.Type->SelectedGetData( &LWork );
		if ( LWork.operator == ("1") ) {
			Dlg.Type->Select( 1 );
		}
		Dlg.PostCommand( IDC_CHECK );
	}

}
  

HM040.cpp
  
#include "stdafx.h"
#include "resource.h"
#include "MyClass.h"
#include "MyDlg.h"
#include "MyDlg2.h"

MyClass App;
MyDlg Dlg;
MyDlg2 Dlg2;

DEFINE_DLG(Dlg)
DEFINE_DLG(Dlg2)

WINMAIN(App)

	App.MenuId = IDC_HM040;
	App.IconId = IDI_HM040;
	App.IconIdSmall = IDI_SMALL;

	INIT_DLG(Dlg)
	INIT_DLG(Dlg2)

	// DTPicker 使用の為の初期化
	INITCOMMONCONTROLSEX IC;
	IC.dwSize = sizeof( INITCOMMONCONTROLSEX );
	IC.dwICC = ICC_DATE_CLASSES;
	InitCommonControlsEx( &IC );

END_WINMAIN
  










  infoboard   管理者用   
このエントリーをはてなブックマークに追加





フリーフォントWEBサービス
SQLの窓WEBサービス

SQLの窓フリーソフト

素材

一般WEBツールリンク

SQLの窓

フリーソフト

JSライブラリ