⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 admiuserdlg.cpp

📁 使用vc进行数据库编程的好例子
💻 CPP
字号:
// AdmiUserDlg.cpp : implementation file
//

#include "stdafx.h"
#include "ManageSystem.h"
#include "AdmiUserDlg.h"

#ifdef _DEBUG
#define new DEBUG_NEW
#undef THIS_FILE
static char THIS_FILE[] = __FILE__;
#endif

/////////////////////////////////////////////////////////////////////////////
// CAdmiUserDlg dialog

CAdmiUserDlg::CAdmiUserDlg(CWnd* pParent /*=NULL*/)
	: CDialog(CAdmiUserDlg::IDD, pParent)
{
	//{{AFX_DATA_INIT(CAdmiUserDlg)
	//}}AFX_DATA_INIT
}


void CAdmiUserDlg::DoDataExchange(CDataExchange* pDX)
{
	CDialog::DoDataExchange(pDX);
	//{{AFX_DATA_MAP(CAdmiUserDlg)
	DDX_Control(pDX, IDC_LISTMEMBER, m_ListMember);
	DDX_Control(pDX, IDOK, m_btnOK);
	DDX_Control(pDX, IDC_MODIFYUSER, m_btnModify);
	DDX_Control(pDX, IDC_DELETEUSER, m_btnDelete);
	DDX_Control(pDX, IDC_ADDUSER, m_btnAdd);
	//}}AFX_DATA_MAP
}


BEGIN_MESSAGE_MAP(CAdmiUserDlg, CDialog)
	//{{AFX_MSG_MAP(CAdmiUserDlg)
	ON_BN_CLICKED(IDC_DELETEUSER, OnDeleteuser)
	ON_BN_CLICKED(IDC_ADDUSER, OnAdduser)
	ON_COMMAND(ID_QUANXIAN_ADMI, OnQuanxianAdmi)
	ON_COMMAND(ID_QUANXIAN_USER, OnQuanxianUser)
	//}}AFX_MSG_MAP
END_MESSAGE_MAP()

/////////////////////////////////////////////////////////////////////////////
// CAdmiUserDlg message handlers

BOOL CAdmiUserDlg::OnInitDialog() 
{
	CDialog::OnInitDialog();
	
	// TODO: Add extra initialization here
	newID=0;

	int index,i=0;	
	try
	{
		m_AdmiSet=new CAdmiSet();
		CString strSQL("SELECT * from administrator where admi_id NOT LIKE '");
		CString strNowID;
		strNowID.Format("%d",NowUserID);
		strSQL+=strNowID;
		strSQL+="'";
		
		m_AdmiSet->Open(CRecordset::snapshot,strSQL);

		while(!m_AdmiSet->IsEOF())
		{
			index=m_ListMember.AddString(m_AdmiSet->m_admi_name);

			if(m_AdmiSet->m_admi_id>newID)
				newID=m_AdmiSet->m_admi_id;

			m_ListMember.SetItemData(index,i);
			m_AdmiSet->MoveNext();
			i++;
		}

	}
	catch(CDBException* pe)
	{
		AfxMessageBox(pe->m_strError);
		pe->Delete();
		if(m_AdmiSet)
		{
			if(m_AdmiSet->IsOpen())
				m_AdmiSet->Close();
			delete m_AdmiSet;
		}
	}

	m_btnOK.SetShade(CShadeButtonST::SHS_METAL);
	m_btnOK.DrawFlatFocus(TRUE);
	m_btnAdd.SetShade(CShadeButtonST::SHS_METAL);
	m_btnAdd.DrawFlatFocus(TRUE);
	m_btnModify.SetShade(CShadeButtonST::SHS_METAL);
	m_btnModify.DrawFlatFocus(TRUE);
	m_btnDelete.SetShade(CShadeButtonST::SHS_METAL);
	m_btnDelete.DrawFlatFocus(TRUE);
	
//#ifdef	BTNST_USE_BCMENU
//	m_btnModify.SetMenu(IDR_MYMENUE, m_hWnd, TRUE, IDR_TOOLBAR);
//#else
	m_btnModify.SetMenu(IDR_MYMENUE, m_hWnd);
//#endif
	return TRUE;  // return TRUE unless you set the focus to a control
	              // EXCEPTION: OCX Property Pages should return FALSE
}

void CAdmiUserDlg::Refresh()
{
	if(m_AdmiSet)
	{
		if(m_AdmiSet->IsOpen())
			m_AdmiSet->Close();
		delete m_AdmiSet;
	}

	int total=m_ListMember.GetCount();
	for(int j=0;j<total;j++)
	{
		m_ListMember.DeleteString(0);
	}


	int index,i=0;

	newID=0;
	try
	{
		m_AdmiSet=new CAdmiSet();
		CString strSQL("SELECT * from administrator");
		m_AdmiSet->Open(CRecordset::snapshot,strSQL);

		while(!m_AdmiSet->IsEOF())
		{
			index=m_ListMember.AddString(m_AdmiSet->m_admi_name);

			if(newID<=m_AdmiSet->m_admi_id)
				newID=m_AdmiSet->m_admi_id;
			
			m_ListMember.SetItemData(index,i);
			m_AdmiSet->MoveNext();
			i++;
		}

	}
	catch(CDBException* pe)
	{
		AfxMessageBox(pe->m_strError);
		pe->Delete();
		if(m_AdmiSet)
		{
			if(m_AdmiSet->IsOpen())
				m_AdmiSet->Close();
			delete m_AdmiSet;
		}
	}

}

void CAdmiUserDlg::OnDeleteuser() 
{
	// TODO: Add your control notification handler code here
	int nSelIndex=m_ListMember.GetCurSel();
	int SetIndex;
	if(nSelIndex!=LB_ERR)
	{
		CString user;
		m_ListMember.GetText(nSelIndex,user);
		user.TrimRight();
		if(IDOK==AfxMessageBox("确实要删除用户 '"+user+"' 吗?",MB_OKCANCEL));
		{
			SetIndex=m_ListMember.GetItemData(nSelIndex);
			m_AdmiSet->MoveFirst();
			m_AdmiSet->Move(SetIndex);

			if(!m_AdmiSet->IsEOF()&&!m_AdmiSet->IsDeleted())
			{
				m_AdmiSet->Delete();
				m_AdmiSet->MoveNext();
				m_ListMember.DeleteString(nSelIndex);
			}
		}

	}
	else
	{
		AfxMessageBox("请选择需要删除的用户.");
	}
}

void CAdmiUserDlg::OnCancel() 
{
	// TODO: Add extra cleanup here
	if(m_AdmiSet)
	{
		if(m_AdmiSet->IsOpen())
			m_AdmiSet->Close();
		delete m_AdmiSet;
	}

	CDialog::OnCancel();
}

void CAdmiUserDlg::OnOK() 
{
	// TODO: Add extra validation here
	if(m_AdmiSet)
	{
		if(m_AdmiSet->IsOpen())
			m_AdmiSet->Close();
		delete m_AdmiSet;
	}
	
	CDialog::OnOK();
}



void CAdmiUserDlg::OnAdduser() 
{
	// TODO: Add your control notification handler code here
	newID++;

	CString test;

	if(IDOK==m_AddDlg.DoModal())
	{
		m_AdmiSet->AddNew();

		m_AdmiSet->m_admi_name=m_AddDlg.m_Name;
		m_AdmiSet->m_isadmini=m_AddDlg.m_IsAdmi;
		m_AdmiSet->m_admi_password="7777777";
		m_AdmiSet->m_admi_id=newID;

		m_AdmiSet->Update();

		Refresh();
	}
}

void CAdmiUserDlg::OnQuanxianAdmi() 
{
	// TODO: Add your command handler code here
	int nSelIndex=m_ListMember.GetCurSel();
	int SetIndex;
	if(nSelIndex!=LB_ERR)
	{
		CString user;
		m_ListMember.GetText(nSelIndex,user);
		user.TrimRight();

		SetIndex=m_ListMember.GetItemData(nSelIndex);
		m_AdmiSet->MoveFirst();
		m_AdmiSet->Move(SetIndex);

		if(!m_AdmiSet->IsEOF()&&!m_AdmiSet->IsDeleted())
		{
			if(m_AdmiSet->m_isadmini!=0)
			{
				m_AdmiSet->Edit();
				m_AdmiSet->m_isadmini=0;
				m_AdmiSet->Update();
			}
		}

	}
	else
	{
		AfxMessageBox("请选择需要修改的用户.");
	}
}

void CAdmiUserDlg::OnQuanxianUser() 
{
	// TODO: Add your command handler code here
	int nSelIndex=m_ListMember.GetCurSel();
	int SetIndex;
	if(nSelIndex!=LB_ERR)
	{
		CString user;
		m_ListMember.GetText(nSelIndex,user);
		user.TrimRight();

		SetIndex=m_ListMember.GetItemData(nSelIndex);
		m_AdmiSet->MoveFirst();
		m_AdmiSet->Move(SetIndex);

		if(!m_AdmiSet->IsEOF()&&!m_AdmiSet->IsDeleted())
		{
			if(m_AdmiSet->m_isadmini!=1)
			{
				m_AdmiSet->Edit();
				m_AdmiSet->m_isadmini=1;
				m_AdmiSet->Update();
			}
		}

	}
	else
	{
		AfxMessageBox("请选择需要修改的用户.");
	}	
}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -