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

📄 stuview.cpp

📁 用ODBC接口访问access数据库管理系统
💻 CPP
字号:
// StuView.cpp : implementation file
//

#include "stdafx.h"
#include "Team2.h"
#include "StuView.h"

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

/////////////////////////////////////////////////////////////////////////////
// CStuView dialog


CStuView::CStuView(CWnd* pParent /*=NULL*/)
	: CDialog(CStuView::IDD, pParent)
{
	//{{AFX_DATA_INIT(CStuView)
		// NOTE: the ClassWizard will add member initialization here
	//}}AFX_DATA_INIT
}


void CStuView::DoDataExchange(CDataExchange* pDX)
{
	CDialog::DoDataExchange(pDX);
	//{{AFX_DATA_MAP(CStuView)
	DDX_Control(pDX, IDC_STULIST_CAB, m_stulist);
	//}}AFX_DATA_MAP
}


BEGIN_MESSAGE_MAP(CStuView, CDialog)
	//{{AFX_MSG_MAP(CStuView)
	ON_NOTIFY(HDN_ITEMDBLCLICK, IDC_STULIST_CAB, OnItemdblclickStulist)
	//}}AFX_MSG_MAP
END_MESSAGE_MAP()

/////////////////////////////////////////////////////////////////////////////
// CStuView message handlers

BOOL CStuView::OnInitDialog() 
{
	CDialog::OnInitDialog();
	
	// TODO: Add extra initialization here
	DWORD style=m_stulist.GetExtendedStyle();
	m_stulist.SetExtendedStyle(style|LVS_EX_GRIDLINES);
	
	m_stulist.InsertColumn(0,"学员证号");
	m_stulist.InsertColumn(1,"姓名");
	m_stulist.InsertColumn(2,"性别");
	m_stulist.InsertColumn(3,"出生日期");
	m_stulist.InsertColumn(4,"籍贯");
	m_stulist.InsertColumn(5,"家庭住址");
	m_stulist.InsertColumn(6,"家庭电话");
	m_stulist.InsertColumn(7,"政治面貌");
	m_stulist.InsertColumn(8,"奖惩记录");
	m_stulist.InsertColumn(9,"特长");
	m_stulist.InsertColumn(10,"专业");	
	RECT rectbasic;
	m_stulist.GetWindowRect(&rectbasic);
	int widbasic = rectbasic.right - rectbasic.left;
	m_stulist.SetColumnWidth(0,widbasic/11);
	m_stulist.SetColumnWidth(1,widbasic/11);
	m_stulist.SetColumnWidth(2,widbasic/11);	
	m_stulist.SetColumnWidth(3,widbasic/11);
	m_stulist.SetColumnWidth(4,widbasic/11);
	m_stulist.SetColumnWidth(5,widbasic/11);
	m_stulist.SetColumnWidth(6,widbasic/11);
	m_stulist.SetColumnWidth(7,widbasic/11);
	m_stulist.SetColumnWidth(8,widbasic/11);
	m_stulist.SetColumnWidth(9,widbasic/11);
	m_stulist.SetColumnWidth(10,widbasic/11);
	m_stulist.SetExtendedStyle(LVS_EX_FULLROWSELECT);

	RefreshData();
	return TRUE;  // return TRUE unless you set the focus to a control
	              // EXCEPTION: OCX Property Pages should return FALSE
}

void CStuView::OnItemdblclickStulist(NMHDR* pNMHDR, LRESULT* pResult) 
{
	HD_NOTIFY *phdn = (HD_NOTIFY *) pNMHDR;
	// TODO: Add your control notification handler code here
	int i=m_stulist.GetSelectionMark();
	stu_id=m_stulist.GetItemText(i,0);
	stu_name=m_stulist.GetItemText(i,1);
	*pResult = 0;
}

void CStuView::RefreshData()
{
	UpdateData(true); // 更新数据
	m_stulist.DeleteAllItems(); // 清空列表框
	if(!db.Open("db1"))return;//连接数据库
	int i=0;
	CRecordset rs(&db);
	CString str_sex;
	CString s_id,s_name,s_native,s_homeaddr,s_hometel,s_polity,s_ap,s_talent,s_spe;
	CDBVariant varValue;	
	char buf[20];	
	rs.Open(CRecordset::forwardOnly,"select * from stu_info where id like '"+subteam+"+*'");	
	while (!rs.IsEOF()) 
	{
		//得到数据
		rs.GetFieldValue("id",s_id);
		rs.GetFieldValue("name",s_name);
		rs.GetFieldValue("sex",str_sex);
		rs.GetFieldValue("birth",varValue);
		sprintf(buf,"%d-%d-%d",varValue.m_pdate->year,varValue.m_pdate->month,varValue.m_pdate->day); 		
		rs.GetFieldValue("native",s_native);
		rs.GetFieldValue("homeaddr",s_homeaddr);
		rs.GetFieldValue("hometel",s_hometel);
		rs.GetFieldValue("polity",s_polity);
		rs.GetFieldValue("awardpunish",s_ap);
		rs.GetFieldValue("talent",s_talent);
		rs.GetFieldValue("spec",s_spe);	
		rs.Close();
	
		//加入列表
		m_stulist.InsertItem(i,"");
		m_stulist.SetItemText(i,0,s_id);
		m_stulist.SetItemText(i,1,s_name);
		m_stulist.SetItemText(i,2,str_sex);
		m_stulist.SetItemText(i,3,buf);
		m_stulist.SetItemText(i,4,s_native);
		m_stulist.SetItemText(i,5,s_homeaddr);
		m_stulist.SetItemText(i,6,s_hometel);
		m_stulist.SetItemText(i,7,s_polity);
		m_stulist.SetItemText(i,8,s_ap);
		m_stulist.SetItemText(i,9,s_talent);
		m_stulist.SetItemText(i,10,s_spe);
		i++;
		rs.MoveNext();
	}
	rs.Close();
}

⌨️ 快捷键说明

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