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

📄 adminsetdlg.cpp

📁 基于VB的数据库教材管理系统设计 有源码
💻 CPP
字号:
// AdminsetDlg.cpp : implementation file
//

#include "stdafx.h"
#include "BookManager.h"
#include "AdminsetDlg.h"
#include "aLoginSet.h"


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

/////////////////////////////////////////////////////////////////////////////
// CAdminsetDlg dialog


CAdminsetDlg::CAdminsetDlg(CWnd* pParent /*=NULL*/)
	: CDialog(CAdminsetDlg::IDD, pParent)
{
	//{{AFX_DATA_INIT(CAdminsetDlg)
	m_str_Adminid = _T("");
	m_str_Adminname = _T("");
	m_str_Adminpwsd = _T("");
	m_Ispower = FALSE;
	//}}AFX_DATA_INIT
}


void CAdminsetDlg::DoDataExchange(CDataExchange* pDX)
{
	CDialog::DoDataExchange(pDX);
	//{{AFX_DATA_MAP(CAdminsetDlg)
	DDX_Control(pDX, IDC_Ispower, m_ctr_Ispower);
	DDX_Control(pDX, IDC_Adminpwsd, m_ctr_Adminpwsd);
	DDX_Control(pDX, IDC_Adminname, m_ctr_Adminname);
	DDX_Control(pDX, IDC_Adminid, m_ctr_Adminid);
	DDX_Control(pDX, IDC_Admincancel, m_bnt_cancel);
	DDX_Control(pDX, IDC_Admindelete, m_bnt_delete);
	DDX_Control(pDX, IDC_Adminmodify, m_bnt_modify);
	DDX_Control(pDX, IDC_Adminadd, m_bnt_add);
	DDX_Control(pDX, IDC_Adminlist, m_Adminlist);
	DDX_Text(pDX, IDC_Adminid, m_str_Adminid);
	DDX_Text(pDX, IDC_Adminname, m_str_Adminname);
	DDX_Text(pDX, IDC_Adminpwsd, m_str_Adminpwsd);
	DDX_Check(pDX, IDC_Ispower, m_Ispower);
	//}}AFX_DATA_MAP
}


BEGIN_MESSAGE_MAP(CAdminsetDlg, CDialog)
	//{{AFX_MSG_MAP(CAdminsetDlg)
	ON_NOTIFY(NM_CLICK, IDC_Adminlist, OnClickAdminlist)
	ON_BN_CLICKED(IDC_Adminadd, OnAdminadd)
	ON_BN_CLICKED(IDC_Admindelete, OnAdmindelete)
	ON_BN_CLICKED(IDC_Adminmodify, OnAdminmodify)
	ON_BN_CLICKED(IDC_Adminok, OnAdminok)
	ON_BN_CLICKED(IDC_Adminrenew, OnAdminrenew)
	ON_BN_CLICKED(IDC_Adminexit, OnAdminexit)
	//}}AFX_MSG_MAP
END_MESSAGE_MAP()

/////////////////////////////////////////////////////////////////////////////
// CAdminsetDlg message handlers

BOOL CAdminsetDlg::OnInitDialog() 
{
	CDialog::OnInitDialog();
	m_Adminlist.InsertColumn(0,"序号");
	m_Adminlist.InsertColumn(1,"管理员ID");
	m_Adminlist.InsertColumn(2,"管理员姓名");
	m_Adminlist.InsertColumn(3,"管理员密码");
	m_Adminlist.InsertColumn(4,"管理员权限");
	m_Adminlist.SetExtendedStyle(LVS_EX_FULLROWSELECT|LVS_EX_GRIDLINES);
	m_Adminlist.SetColumnWidth(0,40);
	m_Adminlist.SetColumnWidth(1,80);
	m_Adminlist.SetColumnWidth(2,00);
	m_Adminlist.SetColumnWidth(3,90);
	m_Adminlist.SetColumnWidth(4,90);
	CBookManagerApp* app=(CBookManagerApp*)::AfxGetApp();
	if(app->IsPower)
	{
	   m_bnt_add.EnableWindow(TRUE);
	}
	else
	{
	   m_bnt_add.EnableWindow(FALSE);
	}
	m_bnt_delete.EnableWindow(FALSE);
	m_bnt_modify.EnableWindow(FALSE);
    m_ctr_Adminid.EnableWindow(FALSE);
	m_ctr_Adminname.EnableWindow(FALSE);
	m_ctr_Adminpwsd.EnableWindow(FALSE);
	m_ctr_Ispower.EnableWindow(FALSE);
	RefreshData();


	
	// TODO: Add extra initialization here
	
	return TRUE;  // return TRUE unless you set the focus to a control
	              // EXCEPTION: OCX Property Pages should return FALSE
}

void CAdminsetDlg::RefreshData()
{
	CString strSQL;
	CaLoginSet recordset;
	strSQL="select * from adminIM";
	if(!recordset.Open(AFX_DB_USE_DEFAULT_TYPE,strSQL))
	{
	   MessageBox("打开数据库失败!","数据库错误",MB_OK);
	   return;
	}
	m_Adminlist.DeleteAllItems();
	int i=0;
	while(!recordset.IsEOF())
	{
	  m_Adminlist.InsertItem(i," ");
	  CString str1;
	  str1.Format("%d",i+1);
	  m_Adminlist.SetItemText(i,0,str1);
	  m_Adminlist.SetItemText(i,1,recordset.m_admin_id);
	  m_Adminlist.SetItemText(i,2,recordset.m_admin_name);
	  m_Adminlist.SetItemText(i,3,recordset.m_admin_pswd);
	  CString str2;
	  if(recordset.m_is_power)
	  {
	     str2="超级管理员";
	  }
	  else
		  str2="普通管理员";
	  m_Adminlist.SetItemText(i,4,str2);
	  i++;
	  recordset.MoveNext();
	}
	recordset.Close();
    m_Adminlist.Invalidate();
	
}

void CAdminsetDlg::OnClickAdminlist(NMHDR* pNMHDR, LRESULT* pResult) 
{
	// TODO: Add your control notification handler code here
	int i=m_Adminlist.GetSelectionMark();
	m_bnt_delete.EnableWindow(TRUE);
	m_bnt_modify.EnableWindow(TRUE);
	m_ctr_Adminid.EnableWindow();
    m_ctr_Adminid.EnableWindow(FALSE);
	m_ctr_Adminpwsd.EnableWindow(FALSE);
	m_ctr_Ispower.EnableWindow(FALSE);
	m_str_Adminid=m_Adminlist.GetItemText(i,1);
	m_str_Adminname=m_Adminlist.GetItemText(i,2);
	m_str_Adminpwsd=m_Adminlist.GetItemText(i,3);
	BOOL temp;

	if(m_Adminlist.GetItemText(i,4)=="超级管理员")
	{
	   temp=TRUE;
	}
	else
	{
	   temp=FALSE;
	}
	m_Ispower=temp;
	UpdateData(FALSE);

	
	*pResult = 0;
}

void CAdminsetDlg::OnAdminadd() 
{
	// TODO: Add your control notification handler code here


	   m_ctr_Adminid.EnableWindow(TRUE);
	   m_ctr_Adminname.EnableWindow(TRUE);
	   m_ctr_Adminpwsd.EnableWindow(TRUE);
	   m_ctr_Ispower.EnableWindow(TRUE);
	   m_bnt_cancel.EnableWindow(TRUE);
	   m_str_Adminid.Empty();
	   m_bnt_modify.EnableWindow(FALSE);
	   m_bnt_delete.EnableWindow(FALSE);
	   m_str_Adminname.Empty();
	   m_str_Adminpwsd.Empty();
	   m_Ispower=FALSE;
	   m_state="ADD";
	   m_ctr_Adminid.SetFocus();
	   UpdateData(FALSE);
	
	
}

void CAdminsetDlg::OnAdmindelete() 
{
	// TODO: Add your control notification handler code here
	int i=m_Adminlist.GetSelectionMark();
	if(i<0)
	{
	   MessageBox("请选择一条记录以操作!");
	   return;
	}
	CString strSQL;
	CaLoginSet recordset;
	strSQL.Format("select * from adminIM where admin_id='%s'",m_Adminlist.GetItemText(i,1));
	if(!recordset.Open(AFX_DB_USE_DEFAULT_TYPE,strSQL))
	{
	   MessageBox("打开数据库失败!","数据库错误",MB_OK);
	   return;
	}
	int k=MessageBox("确定要删除此记录吗?","请选择操作",MB_OKCANCEL);
	if(k==1)
	{
	   recordset.Delete();
	   MessageBox("记录删除成功!");
	}
	if(k==2)
	{
	   recordset.Move(0);
	}
	RefreshData();
	recordset.Close();
    m_str_Adminid.Empty();
	m_str_Adminname.Empty();
    m_str_Adminpwsd.Empty();
	m_Ispower=FALSE;
	UpdateData(TRUE);
}

void CAdminsetDlg::OnAdminmodify() 
{
	// TODO: Add your control notification handler code here
	int i=m_Adminlist.GetSelectionMark();
	if(i<0)
	{
	   MessageBox("请选择一条记录进行操作!");
	}
	m_state="MODIFY";
	m_bnt_delete.EnableWindow(FALSE);
	m_ctr_Adminid.EnableWindow(TRUE);
	m_ctr_Adminname.EnableWindow(TRUE);
	m_ctr_Adminpwsd.EnableWindow(TRUE);
	m_ctr_Ispower.EnableWindow(TRUE);
	m_ctr_Adminid.SetFocus();
	
}

void CAdminsetDlg::OnAdminok() 
{
	// TODO: Add your control notification handler code here
	CString strSQL;
	CaLoginSet recordset;
	if(m_state=="ADD")
	{
	  strSQL="select * from adminIM";
	  if(!recordset.Open(AFX_DB_USE_DEFAULT_TYPE,strSQL))
	  {
	     MessageBox("打开数据库失败!","数据库错误",MB_OK);
	     return;
	  }
	  UpdateData(TRUE);
	  recordset.AddNew();
	  recordset.m_admin_id=m_str_Adminid;
	  recordset.m_admin_name=m_str_Adminname;
	  recordset.m_admin_pswd=m_str_Adminpwsd;
	  recordset.m_is_power=m_Ispower;
	  recordset.Update();
	  MessageBox("添加成功!");
	  RefreshData();
	  recordset.Close();

	}
	if(m_state=="MODIFY")
	{
	   strSQL.Format("select * from adminIM where admin_id='%s'",m_str_Adminid);
	   if(!recordset.Open(AFX_DB_USE_DEFAULT_TYPE,strSQL))
	   {
	   MessageBox("打开数据库失败!","数据库错误",MB_OK);
	   return;
	   }
	   int k=MessageBox("确定修改吗?","请选择操作",MB_OKCANCEL);
	   if(k==1)
	   {
	      UpdateData(TRUE);
	      recordset.Edit();
	      recordset.m_admin_id=m_str_Adminid;
	      recordset.m_admin_name=m_str_Adminname;
	      recordset.m_admin_pswd=m_str_Adminpwsd;
	      recordset.m_is_power=m_Ispower;
	      recordset.Update();
	      MessageBox("修改成功!");
		  RefreshData(); 
	   }
	   if(k==2)
	   {
	      recordset.Move(0);
	   }
       recordset.Close();
	}
	
}

void CAdminsetDlg::OnAdminrenew() 
{
	// TODO: Add your control notification handler code here
	RefreshData();
}

void CAdminsetDlg::OnAdminexit() 
{
	// TODO: Add your control notification handler code here
	CDialog::OnOK();
	
}

⌨️ 快捷键说明

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