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

📄 yhdlg.cpp

📁 vc开发的学生管理系统 很不错的 哦 供大家研究学习之用
💻 CPP
字号:
// YhDlg.cpp : implementation file
//

#include "stdafx.h"
#include "student.h"
#include "YhDlg.h"
#include "studentview.h"
#include "ado.h"

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

/////////////////////////////////////////////////////////////////////////////
// CYhDlg dialog


CYhDlg::CYhDlg(CWnd* pParent /*=NULL*/)
	: CDialog(CYhDlg::IDD, pParent)
{
	//{{AFX_DATA_INIT(CYhDlg)
	m_U_ID = _T("");
	m_U_Name = _T("");
	m_U_Pass = _T("");
	m_U_Qx = _T("");
	//}}AFX_DATA_INIT
	IsInit = false;
}


void CYhDlg::DoDataExchange(CDataExchange* pDX)
{
	CDialog::DoDataExchange(pDX);
	//{{AFX_DATA_MAP(CYhDlg)
	DDX_Control(pDX, IDC_LIST_U, m_listU);
	DDX_Text(pDX, IDC_EDIT_U_ID, m_U_ID);
	DDX_Text(pDX, IDC_EDIT_U_NAME, m_U_Name);
	DDX_Text(pDX, IDC_EDIT_U_PASS, m_U_Pass);
	DDX_CBString(pDX, IDC_COMBO_U_QX, m_U_Qx);
	//}}AFX_DATA_MAP
	if(!IsInit)
	{
	CRect rect1,rect2;
	this->GetClientRect(&rect1);
	this->m_parent->GetClientRect(&rect2);
	int x= (rect2.Width()-STATIC_MYWIN_LEFT-rect1.Width())/2 +STATIC_MYWIN_LEFT;
	int y= (rect2.Height()-STATIC_MYWIN_TOP-rect1.Height())/2 +STATIC_MYWIN_TOP;
	if(x<STATIC_MYWIN_LEFT)
	{
		x = STATIC_MYWIN_LEFT;
	}
	if(y<STATIC_MYWIN_TOP)
	{
		y = STATIC_MYWIN_TOP;
	}
	this->MoveWindow(x,y,rect1.Width(),rect1.Height());

	LV_COLUMN lvc;
	
	lvc.mask = LVCF_TEXT | LVCF_SUBITEM | LVCF_WIDTH /*| LVCF_FMT*/;
	
	lvc.iSubItem = 0;
	lvc.pszText = (char *)"ID";
	lvc.cx = 80;
	m_listU.InsertColumn(0,&lvc);

	lvc.iSubItem = 1;
	lvc.pszText = (char *)"用户名";
	lvc.cx = 110;
	m_listU.InsertColumn(1,&lvc);

	lvc.iSubItem = 2;
	lvc.pszText = (char *)"权限";
	lvc.cx = 100;
	m_listU.InsertColumn(2,&lvc);

	//
	ShowAllUser();
	//
	IsInit = true;
	}
}


BEGIN_MESSAGE_MAP(CYhDlg, CDialog)
	//{{AFX_MSG_MAP(CYhDlg)
	ON_BN_CLICKED(IDC_BU_CLOSE, OnBuClose)
	ON_NOTIFY(NM_CLICK, IDC_LIST_U, OnClickListU)
	ON_BN_CLICKED(IDC_BU_U_ADD, OnBuUAdd)
	ON_BN_CLICKED(IDC_BU_U_DEL, OnBuUDel)
	ON_BN_CLICKED(IDC_BU_U_SAVE, OnBuUSave)
	//}}AFX_MSG_MAP
END_MESSAGE_MAP()

/////////////////////////////////////////////////////////////////////////////
// CYhDlg message handlers

void CYhDlg::OnBuClose() 
{
	// TODO: Add your control notification handler code here
	this->m_parent->m_Dlg_Yh = NULL;
	LVFINDINFO info;
	info.psz = "用户管理";
	info.flags = LVFI_STRING;
	this->m_parent->m_listCtrlGN.DeleteItem(this->m_parent->m_listCtrlGN.FindItem(&info))	;
	this->DestroyWindow();
}

void CYhDlg::OnClickListU(NMHDR* pNMHDR, LRESULT* pResult) 
{
	// TODO: Add your control notification handler code here
	int index = m_listU.GetSelectionMark();
	if(index<0)
	{
		return;
	}
	CString sqlt;
	sqlt.Format("SELECT * FROM UserT WHERE ID=%s",m_listU.GetItemText(index,0));
	m_parent->m_recSet->Open(sqlt.GetBuffer(100));
	
	if(!m_parent->m_recSet->IsEOF())
	{
		this->UpdateData(true);
		m_parent->m_recSet->GetFieldValue("ID",m_U_ID);
		m_parent->m_recSet->GetFieldValue("Name",m_U_Name);
		m_parent->m_recSet->GetFieldValue("Password",m_U_Pass);
		m_parent->m_recSet->GetFieldValue("Class",m_U_Qx);
		
		this->UpdateData(false);
	}

	m_parent->m_recSet->Close();
	*pResult = 0;
}

void CYhDlg::ShowAllUser()
{
	m_parent->m_recSet->Open("SELECT * FROM UserT");
	
	LV_ITEM lvitem;
	lvitem.mask = LVIF_TEXT | LVIF_IMAGE | LVIF_STATE;
	lvitem.state = 0;      
	lvitem.stateMask = 0; 
	char temp1[50];
	m_listU.DeleteAllItems();
	int i=0;
	CString temp;
	while(!m_parent->m_recSet->IsEOF())
	{
		lvitem.iItem = i;
		lvitem.iSubItem = 0;
		lvitem.pszText =itoa(i, temp1, 3); 
		m_listU.InsertItem(&lvitem);
		
		m_parent->m_recSet->GetFieldValue("ID",temp);
		m_listU.SetItemText(i,0,temp);
		m_parent->m_recSet->GetFieldValue("Name",temp);
		m_listU.SetItemText(i,1,temp);
		m_parent->m_recSet->GetFieldValue("Class",temp);
		m_listU.SetItemText(i,2,temp);
		i++;
		m_parent->m_recSet->MoveNext();
	}

	m_parent->m_recSet->Close();
}


void CYhDlg::OnBuUAdd() 
{
	// TODO: Add your control notification handler code here
	this->UpdateData(true);
	m_U_Name.TrimLeft();
	m_U_Name.TrimRight();
	if(m_U_Name == "")
	{
		MessageBox("请输入用户名");
		return;
	}
	m_U_Pass.TrimLeft();
	m_U_Pass.TrimRight();
	if(m_U_Pass == "")
	{
		MessageBox("请输入密码");
		return;
	}
	m_U_Qx.TrimLeft();
	m_U_Qx.TrimRight();
	if(m_U_Qx =="")
	{
		MessageBox("请选择权限");
		return;
	}
	CString sqlt;
	sqlt.Format("INSERT INTO UserT(Name,[Password],Class)  VALUES('%s','%s','%s') ",m_U_Name,m_U_Pass,m_U_Qx);
	m_parent->m_conn->Execute(sqlt);
	ShowAllUser();
	this->UpdateData(false);
}

void CYhDlg::OnBuUDel() 
{
	// TODO: Add your control notification handler code here
	this->UpdateData(true);
	m_U_ID.TrimLeft();
	m_U_ID.TrimRight();
	if(m_U_ID == "")
	{
		MessageBox("请选择用户");
		return;
	}
	CString sqlt;
	sqlt.Format("DELETE FROM UserT WHERE ID=%s",m_U_ID);
	m_parent->m_conn->Execute(sqlt);
	ShowAllUser();
	
	this->UpdateData(false);
}

void CYhDlg::OnBuUSave() 
{
	// TODO: Add your control notification handler code here
	this->UpdateData(true);
	m_U_ID.TrimLeft();
	m_U_ID.TrimRight();
	if(m_U_ID == "")
	{
		MessageBox("请选择用户");
		return;
	}
	m_U_Name.TrimLeft();
	m_U_Name.TrimRight();
	if(m_U_Name == "")
	{
		MessageBox("请输入用户名");
		return;
	}
	m_U_Pass.TrimLeft();
	m_U_Pass.TrimRight();
	if(m_U_Pass == "")
	{
		MessageBox("请输入密码");
		return;
	}
	m_U_Qx.TrimLeft();
	m_U_Qx.TrimRight();
	if(m_U_Qx =="")
	{
		MessageBox("请选择权限");
		return;
	}
	CString sqlt;
	sqlt.Format("UPDATE UserT SET Name='%s',[Password]='%s',Class='%s' WHERE ID=%s"\
		,m_U_Name,m_U_Pass,m_U_Qx,m_U_ID);
	m_parent->m_conn->Execute(sqlt);
	ShowAllUser();
	this->UpdateData(false);
}

⌨️ 快捷键说明

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