vc++学生选课系统 sql语句操作数据库 管理员登陆界面

本文介绍了一个学生选课系统的管理员界面实现,包括学生信息、课程信息、学生成绩及用户管理模块,提供了详细的初始化、数据库连接、界面布局、列表显示及用户交互逻辑。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

BOOL CAdminDlg::OnInitDialog() 
{
	CDialog::OnInitDialog();
	
	// TODO: Add extra initialization here
	CFont font;
	font.CreatePointFont(300,"宋体");
	GetDlgItem(IDC_STATIC_SHOW)->SetWindowText("欢迎来到学生选课系统");
	GetDlgItem(IDC_STATIC_SHOW)->SetFont(&font);
	
	HTREEITEM hRoot=m_Tree.InsertItem("管理员",0,0);
	HTREEITEM hleaf=m_Tree.InsertItem("学生信息",1,1,hRoot);
	HTREEITEM hleaf01=m_Tree.InsertItem("学生信息管理",2,2,hleaf);
// 	HTREEITEM hleaf02=m_Tree.InsertItem("学生信息添加",2,2,hleaf);
// 	HTREEITEM hleaf03=m_Tree.InsertItem("学生信息删除",2,2,hleaf);


	HTREEITEM hleaf1=m_Tree.InsertItem("课程信息",1,1,hRoot);
  	HTREEITEM hleaf11=m_Tree.InsertItem("课程信息管理",2,2,hleaf1);
// 	HTREEITEM hleaf12=m_Tree.InsertItem("课程信息添加",2,2,hleaf1);
// 	HTREEITEM hleaf13=m_Tree.InsertItem("课程信息删除",2,2,hleaf1);

// 	HTREEITEM hleaf2=m_Tree.InsertItem("学生成绩",1,1,hRoot);
//  	HTREEITEM hleaf21=m_Tree.InsertItem("学生成绩管理",2,2,hleaf2);
// // 	HTREEITEM hleaf22=m_Tree.InsertItem("学生成绩添加",2,2,hleaf2);
// // 	HTREEITEM hleaf23=m_Tree.InsertItem("学生成绩删除",2,2,hleaf2);

	HTREEITEM hleaf3=m_Tree.InsertItem("用户管理",1,1,hRoot);
	HTREEITEM hleaf31=m_Tree.InsertItem("用户管理信息",2,2,hleaf3);

// 	HTREEITEM hleaf31=m_Tree.InsertItem("用户修改",2,2,hleaf3);
// 	HTREEITEM hleaf32=m_Tree.InsertItem("用户添加",2,2,hleaf3);
// 	HTREEITEM hleaf33=m_Tree.InsertItem("用户删除",2,2,hleaf3);
	m_Tree.Expand(hRoot,TVE_EXPAND);
// 	HTREEITEM hleaf=m_Tree.InsertItem("学生信息",1,1,hRoot);

	m_List.SetExtendedStyle(LVS_EX_FLATSB|LVS_EX_FULLROWSELECT|LVS_EX_HEADERDRAGDROP|LVS_EX_ONECLICKACTIVATE|LVS_EX_GRIDLINES);
	
	m_List.InsertColumn(0,"学号",LVCFMT_LEFT,60);
// 	m_List.InsertColumn(1,"姓名",LVCFMT_LEFT,60);
// 	m_List.InsertColumn(2,"班级",LVCFMT_LEFT,60);
	m_List.InsertColumn(1,"英语",LVCFMT_LEFT,60);
	m_List.InsertColumn(2,"语文",LVCFMT_LEFT,60);
	m_List.InsertColumn(3,"C",LVCFMT_LEFT,60);
	m_List.InsertColumn(4,"C++",LVCFMT_LEFT,60);
	m_List.InsertColumn(5,"计算机",LVCFMT_LEFT,60);
	AddToList();
//	OnClickList1();
//	GetDlgItem(IDC_EDIT8)->EnableWindow(FALSE);
	
	
	//连接数据库
	CADO ado;
	ado.CADOConnect();
	
	//设置查询字符串
	CString str;
	str= "select * from student_xuank";
	//创建记录集指针对象实例
	//m_pRecordset.CreateInstance(__uuidof(Recordset));
	_RecordsetPtr pRS = ado.Select(str);
	//打开记录集
	// 	m_pRecordset->Open(bstrSQL,m_pConnection.GetInterfacePtr(),adOpenDynamic,
	// 		adLockOptimistic,adCmdText);
	while(!pRS->adoEOF)
	{
		int m=0;
		//m_List.SetExtendedStyle(LVS_EX_CHECKBOXES);
		
		//m_ctlList.InsertItem(0,"");
		// m_List.InsertItem(m, _T(""));
		//	m_List.SetCheck(m, FALSE);>GetItem(_variant_t("姓名"))->Value=_bstr_t("赵薇");
		
		CString str;
		str=(char*)(_bstr_t)(pRS->Fields->GetItem(_variant_t("english"))->Value);
		//MessageBox(str);
		
		//m_List.SetItemText(0,0,(char*)(_bstr_t)(pRS->Fields->GetItem(_variant_t("sno"))->Value));
// 		
// 		m_List.SetItemText(0,1,(char*)(_bstr_t)(pRS->Fields->GetItem(_variant_t("english"))->Value));
// 		m_List.SetItemText(0,2,(_bstr_t)pRS->GetCollect("chinese"));
// 		m_List.SetItemText(0,3,(_bstr_t)pRS->GetCollect("c"));
// 		m_List.SetItemText(0,4,(_bstr_t)pRS->GetCollect("cplusplus"));
// 		m_List.SetItemText(0,5,(_bstr_t)pRS->GetCollect("computer"));
// 		
		
		m++;
		
		//将记录集指针移动到下一条记录
		pRS->MoveNext();
	}

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

void CAdminDlg::OnClickTree1(NMHDR* pNMHDR, LRESULT* pResult) 
{
	// TODO: Add your control notification handler code here
	
	*pResult = 0;
}

void CAdminDlg::OnDblclkTree1(NMHDR* pNMHDR, LRESULT* pResult) 
{
	// TODO: Add your control notification handler code here
	m_hTreeItem = m_Tree.GetSelectedItem();
// 	HTREEITEM hroot=m_hTreeItem.GetParent();
	// CString S1 = m_Tree.GetItemText(hroot);
// 	if(m_Tree.GetItemText(m_hTreeItem)=="课程信息管理")
// 	{
// 		CKCADDDlg mydlg;
// 		mydlg.DoModal();
// 		return;
// 	}
	if(m_Tree.GetItemText(m_hTreeItem)=="学生信息管理")
	{
		CKCADDDlg mydlg;
		mydlg.DoModal();
		return;
	}
	if(m_Tree.GetItemText(m_hTreeItem)=="课程信息管理")
	{
		CKCMODDlg   mydlg;
		mydlg.DoModal();
		return;
	}

	if(m_Tree.GetItemText(m_hTreeItem)=="用户管理信息")
	{
		CUSERDlg  mydlg;
		mydlg.DoModal();
		return;
	}
	*pResult = 0;
}
//static CKCDELDlg dlg;
void CAdminDlg::OnClickList1(NMHDR* pNMHDR, LRESULT* pResult) 
{
// 	//Name=atoi(m_strName);
	// TODO: Add your control notification handler code here
 	int pos=m_List.GetSelectionMark();//当前选中的行索引
// 	CEdit* pBoxOne;
// 	pBoxOne = (CEdit*) GetDlgItem(IDC_EDIT8);
// 	GotoDlgCtrl(pBoxOne);
//	GetDlgItem(IDC_EDIT8)->EnableWindow(FALSE); 
	int n;
	n=m_List.GetItemCount();
// 	dlg.DoModal();

	//MessageBox((_variant_t)n);
// 	if (dlg.m_sno==0)
// 	{
// 		dlg.GetDlgItem(dlg.IDC_EDIT1)->EnableWindow(FALSE);
// 	}

	if (m_List.GetSelectionMark()==-1)
	{
		MessageBox("请选择用户");
		return;
	}

	CKCDELDlg dlg;

	dlg.str5=dlg.m_sno=m_List.GetItemText(pos,0);

	dlg.str=dlg.m_enlish=m_List.GetItemText(pos,1);
	//MessageBox(dlg.str);
	dlg.str1=dlg.m_chinese=m_List.GetItemText(pos,2);
	dlg.str2=dlg.m_computer=m_List.GetItemText(pos,3);
 	dlg.str3=dlg.m_c=m_List.GetItemText(pos,4);
 	dlg.str4=dlg.m_cplus=m_List.GetItemText(pos,5);
	UpdateData(FALSE);
	//dlg.m_snum.EnableWindow(FALSE);
//	dlg.m_ctleng.EnableWindow(FALSE);
	dlg.DoModal();



// 
//  	if (dlg.m_english=="")
// 	{
// 		dlg.m_snum.EnableWindow(FALSE);
//  	}

//	OnInitDialog();

	*pResult = 0;
}

void CAdminDlg::AddToList()
{


	m_List.DeleteAllItems();
	//连接数据库
	CADO ado;
	ado.CADOConnect();
	
	//设置查询字符串
	CString str;
	str= "select * from student_xuank";
	//创建记录集指针对象实例
	//m_pRecordset.CreateInstance(__uuidof(Recordset));
	_RecordsetPtr pRS = ado.Select(str);
	//打开记录集
	// 	m_pRecordset->Open(bstrSQL,m_pConnection.GetInterfacePtr(),adOpenDynamic,
	// 		adLockOptimistic,adCmdText);
	while(!pRS->adoEOF)
	{
		int m=0;
		//m_List.SetExtendedStyle(LVS_EX_CHECKBOXES);
		
		//m_ctlList.InsertItem(0,"");
		m_List.InsertItem(m, _T(""));
		//	m_List.SetCheck(m, FALSE);>GetItem(_variant_t("姓名"))->Value=_bstr_t("赵薇");
		


		
		m_List.SetItemText(0,0,(char*)(_bstr_t)(pRS->Fields->GetItem(_variant_t("sno"))->Value));

		//m_user=(char*)_bstr_t(m_FieldsPtr->Item["username"]->Value);//这两个是字符型的,读取和写都没问题
// 		_variant_t vt;
// 		vt = (pRS->Fields->GetItem(_variant_t("english"))->Value);
// 		bool m_admin = -vt.boolVal;
		m_List.SetItemText(0,1,(char*)(_bstr_t)(pRS->Fields->GetItem(_variant_t("english"))->Value));
		//m_List.SetItemText(0,1,(_bstr_t)m_admin);

		m_List.SetItemText(0,2,(_bstr_t)pRS->GetCollect("chinese"));
		m_List.SetItemText(0,3,(_bstr_t)pRS->GetCollect("c"));
		m_List.SetItemText(0,4,(_bstr_t)pRS->GetCollect("cplusplus"));
		m_List.SetItemText(0,5,(_bstr_t)pRS->GetCollect("computer"));

		m++;
		
		//将记录集指针移动到下一条记录
		pRS->MoveNext();
	}

}

void CAdminDlg::OnButton1() 
{
	// TODO: Add your control notification handler code here
	UpdateData(true);
	
	CADO ado;
	ado.CADOConnect();
	
	
	CString temp,str,str1;
	_variant_t ra;
// // 	int k=m_combo.GetCurSel();
// 	if (k==0)
// 	{
// 		str1="student";
// 		
// 	}
// 	else
// 	{
// 		str1="admin";
// 	}
// 	if (m_name=="")
// 	{
// 		MessageBox("用户名不能为空");
// 		GetDlgItem(IDC_EDIT4)->SetFocus();
// 	}
// 	else if (m_pass1!=m_pass2)
// 	{
// 		MessageBox("密码不符");
// 		GetDlgItem(IDC_EDIT5)->SetFocus();
// 		m_pass1=m_pass2="";
// 		UpdateData(FALSE);
// 		
// 	}
// 	else
// 	{
// 		str.Format("insert into login values('%s','%s','%s')",m_name,m_pass1,str1);
// 		//str.Format("insert into ");
// 		ado.ExecuteSQL(_bstr_t(str));
// 		showData();
// 		m_name=m_pass1=m_pass2="";
// 		MessageBox("添加用户成功");
// 	}
}

void CAdminDlg::OnRclickList1(NMHDR* pNMHDR, LRESULT* pResult) 
{
	// TODO: Add your control notification handler code here
	UpdateData(true);
	CADO ado;
	ado.CADOConnect();
	if (m_List.GetSelectionMark()==-1)
	{
		MessageBox("请选择用户");
		return;
	}
	int pos=m_List.GetSelectionMark();//当前选中的行索引
	CString str1=m_List.GetItemText(pos,0);
	CString str;
	str.Format("delete from student_xuank where sno='%s'",str1);
	MessageBox(str1);
	ado.ExecuteSQL(_bstr_t(str));
	MessageBox("删除成功");
 	AddToList();
	*pResult = 0;
}
-------------------------------未完待续---------------------------------
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值