www.pudn.com > student_system.rar > YhDlg.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(xMoveWindow(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); 
}