www.pudn.com > StuMis.rar > JWXJchange.cpp


// JWXJchange.cpp : implementation file 
// 
 
#include "stdafx.h" 
#include "StuMis.h" 
#include "JWXJchange.h" 
 
#ifdef _DEBUG 
#define new DEBUG_NEW 
#undef THIS_FILE 
static char THIS_FILE[] = __FILE__; 
#endif 
 
extern CStuMisApp theApp; 
///////////////////////////////////////////////////////////////////////////// 
// CJWXJchange property page 
 
IMPLEMENT_DYNCREATE(CJWXJchange, CPropertyPage) 
 
CJWXJchange::CJWXJchange() : CPropertyPage(CJWXJchange::IDD) 
{ 
	//{{AFX_DATA_INIT(CJWXJchange) 
	m_editlong = _T(""); 
	m_combo = -1; 
	m_sid = _T(""); 
	m_datetime = COleDateTime::GetCurrentTime(); 
	//}}AFX_DATA_INIT 
} 
 
CJWXJchange::~CJWXJchange() 
{ 
} 
 
void CJWXJchange::DoDataExchange(CDataExchange* pDX) 
{ 
	CPropertyPage::DoDataExchange(pDX); 
	//{{AFX_DATA_MAP(CJWXJchange) 
	DDX_Control(pDX, IDC_XJCGLIST, m_xjlist); 
	DDX_Text(pDX, IDC_EDITLONG, m_editlong); 
	DDX_CBIndex(pDX, IDC_COMBO1, m_combo); 
	DDX_Text(pDX, IDC_SID, m_sid); 
	DDX_DateTimeCtrl(pDX, IDC_DATETIMEPICKER1, m_datetime); 
	//}}AFX_DATA_MAP 
} 
 
 
BEGIN_MESSAGE_MAP(CJWXJchange, CPropertyPage) 
	//{{AFX_MSG_MAP(CJWXJchange) 
	ON_WM_PAINT() 
	ON_BN_CLICKED(IDC_DELETE, OnDelete) 
	ON_NOTIFY(NM_CLICK, IDC_XJCGLIST, OnClickXjcglist) 
	ON_BN_CLICKED(IDC_AddItem, OnAddItem) 
	//}}AFX_MSG_MAP 
END_MESSAGE_MAP() 
 
///////////////////////////////////////////////////////////////////////////// 
// CJWXJchange message handlers 
 
void CJWXJchange::OnPaint()  
{ 
	CPaintDC dc(this); // device context for painting 
	 
	// TODO: Add your message handler code here 
//	AfxMessageBox("www"); 
	// Do not call CPropertyPage::OnPaint() for painting messages 
} 
 
BOOL CJWXJchange::OnInitDialog()  
{ 
	CPropertyPage::OnInitDialog(); 
	 
	// TODO: Add extra initialization here 
//    m_xjlist.SetExtendedStyle(LVS_EX_GRIDLINES||LVS_EX_FULLROWSELECT ); 
m_xjlist.SetExtendedStyle(LVS_EX_FULLROWSELECT); 
	// 设置List的列 
	int nWidth=90; 
	m_xjlist.InsertColumn(0, "记录编号", LVCFMT_LEFT, nWidth-20); 
	m_xjlist.InsertColumn(1, "学号", LVCFMT_LEFT, nWidth-20); 
	m_xjlist.InsertColumn(2, "记录时间", LVCFMT_LEFT, nWidth+20); 
	m_xjlist.InsertColumn(3, "变更情况", LVCFMT_LEFT, nWidth+20); 
	m_xjlist.InsertColumn(4, "详细描述", LVCFMT_LEFT, nWidth); 
//	CErrandRS rs(&db); // 构造出差记录表 
//	UpdateList(rs); // 更新List		 
	return TRUE;  // return TRUE unless you set the focus t	 
//	return TRUE;  // return TRUE unless you set the focus to a control 
	              // EXCEPTION: OCX Property Pages should return FALSE 
} 
 
void CJWXJchange::UpdateList() 
{ 
	int i=0,id,stat; 
	CString strID,strSTime,strETime,strSQL; 
	COleDateTime	t_time; 
	strSQL.Format("SELECT * FROM CHANGE WHERE STUDENT='%s'",m_sid); 
	theApp.m_pRs.Open(_T(strSQL),CADORecordset::openUnknown); // 打开出差记录表 
	m_xjlist.DeleteAllItems(); // 清除列表框内容 
	while(!theApp.m_pRs.IsEOF()) // 对数据表中所有记录进行处理 
	{ 
		m_xjlist.InsertItem(i, "");// 添加新Item 
		theApp.m_pRs.GetFieldValue("ID",id); 
		strID.Format("%d",id); // 转换为字符串 
		m_xjlist.SetItemText(i, 0, strID); 
		 
		theApp.m_pRs.GetFieldValue("STUDENT",strID); 
		m_xjlist.SetItemText(i, 1, strID); 
		theApp.m_pRs.GetFieldValue("REC_TIME",t_time); 
		m_xjlist.SetItemText(i, 2, t_time.Format("%y-%m-%d")); 
 
		theApp.m_pRs.GetFieldValue("CHANGE",stat); 
		switch(stat) 
		{ 
		case 0:strSTime.Format("转系");break; 
		case 1:strSTime.Format("休学");break; 
		case 2:strSTime.Format("复学");break; 
		case 3:strSTime.Format("退学");break; 
		case 4:strSTime.Format("毕业");break; 
		} 
		 
		m_xjlist.SetItemText(i, 3, strSTime); 
 
		theApp.m_pRs.GetFieldValue("DESCRIPTION",strETime); 
		m_xjlist.SetItemText(i, 4,strETime); 
		theApp.m_pRs.MoveNext(); // 跳到下一条记录 
		i++; 
	} 
	theApp.m_pRs.Close(); // 关闭出差记录表 
 
 
 
 
} 
 
void CJWXJchange::OnDelete()  
{ 
	CString strSQL; 
	int nItem; 
	// 得到第一个被选择Item的位置 
	POSITION pos = m_xjlist.GetFirstSelectedItemPosition(); 
	if(pos==NULL) 
	{ 
		AfxMessageBox("没有选择记录!"); 
		return; 
	} 
	while(pos) // 遍历所有被选Item 
	{ 
		nItem=m_xjlist.GetNextSelectedItem(pos); // 得到Item Index 
		// 构造SQL语句 
		strSQL="delete from CHANGE where ID=" + m_xjlist.GetItemText(nItem, 0); 
		theApp.db.Execute(strSQL); // 执行 
	} 
//	COvertimeRS rs(&db); // 构造加班记录表 
	UpdateList(); // 更新列表框	 
} 
 
void CJWXJchange::OnClickXjcglist(NMHDR* pNMHDR, LRESULT* pResult)  
{ 
	// TODO: Add your control notification handler code here 
	 
	*pResult = 0; 
} 
 
void CJWXJchange::OnAddItem()  
{ 
	// TODO: Add your control notification handler code here 
//	CString addstr,strTime; 
//	strTime.Format("%s",m_birthday.Format("%Y-%m-%d")); 
    UpdateData(); 
 
//	addstr.Format("insert into STUDENT (ID,NAME,SEX,CLASS,DEPARTMENT,NATIVE_PLACE,BIRTHDAY) values ('%s','%s',%d,'%s','%s','%s',%s)",m_stuid,m_name,m_sex,m_class,m_department,m_nativeplace,strTime);  
//	addstr.Format("insert into STUDENT (ID,NAME,SEX,NATIVE_PLACE) values ('%s','%s',%d,'%s')",m_stuid,m_name,m_sex,m_nativeplace);  
//	app->db.Execute(addstr); 
 //  m_pRecordset->AddNew();    
	theApp.m_pRs.Open(_T("SELECT * FROM CHANGE"),CADORecordset::openUnknown); 
 
	theApp.m_pRs.AddNew(); 
	theApp.m_pRs.SetFieldValue("STUDENT",m_sid); 
	theApp.m_pRs.SetFieldValue("CHANGE",m_combo); 
//	theApp.m_pRs.SetFieldValue("SEX",m_sex); 
//	theApp.m_pRs.SetFieldValue("CLASS",m_combo); 
	theApp.m_pRs.SetFieldValue("REC_TIME",m_datetime); 
	theApp.m_pRs.SetFieldValue("DESCRIPTION",m_editlong); 
//	theApp.m_pRs.SetFieldValue("BIRTHDAY",m_birthday); 
	theApp.m_pRs.Update(); 
	theApp.m_pRs.Close();	 
 
	UpdateList(); 
}