MFC学习记录4之Mini系统3

MFC学习记录4之Mini系统3
1.增加学生信息和修改学生信息按钮
需要增加一个学号和姓名的静态文本和eidt Contro用来存储并写入学生信息,并添加新增和修改的按钮,如下图所示
在这里插入图片描述
然后就是对新增按钮和修改按钮增加相应的事件处理函数:
新增按钮:

void CMiniMsDlg::OnBnClickedButtonAdd()
{
	// TODO: 在此添加控件通知处理程序代码
	int nId=GetDlgItemInt(IDC_EDT_ID);
	CString strName;
	GetDlgItemText(IDC_EDT_NAME,strName);
	if(strName.GetLength()==0){
		AfxMessageBox(_T("学生姓名不能是空白"));
		return;
	}
	if(nId<=0){
		AfxMessageBox(_T("学号必须大于0"));
		return;
	}
	//检查学号不能重复
	
	//处理姓名里面的单引号
	strName.Replace(_T("'"),_T("''"));

	TCHAR szSql[1024]={0};
	_stprintf(szSql,_T("insert into Students(StudentId,StudentName) values(%d,'%s')"),nId,strName);
	Execute(szSql);
	GetDataset();
}

接着就是修改按钮,在加入修改按钮事件之前需要增加一个选中list窗口中的选项,然后将list中选项所对应的内容再显示到对应的编辑框里面,需增加一个“OnLvnItemchangedList1”函数,代码如下:

void CMiniMsDlg::OnLvnItemchangedList1(NMHDR *pNMHDR, LRESULT *pResult)
{
	LPNMLISTVIEW pNMLV = reinterpret_cast<LPNMLISTVIEW>(pNMHDR);
	// TODO: 在此添加控件通知处理程序代码
	if((pNMLV->uChanged & LVIF_STATE)&&(pNMLV->uNewState & LVIS_SELECTED)){
		SetDlgItemText(IDC_EDT_ID,(m_list.GetItemText(pNMLV->iItem,0)));
		SetDlgItemText(IDC_EDT_NAME,(m_list.GetItemText(pNMLV->iItem,1)));
	}
	*pResult = 0;
}

最后才可以添加修改按钮事件,代码如下:

void CMiniMsDlg::OnBnClickedButtonEdit()
{
	// TODO: 在此添加控件通知处理程序代码
	int nIndex=m_list.GetSelectionMark();
	if(nIndex<0){
		return;
	}
	int nId=m_list.GetItemData(nIndex);
	int nNewId=GetDlgItemInt(IDC_EDT_ID);
	CString strNewName;
	GetDlgItemText(IDC_EDT_NAME,strNewName);
	if(strNewName.GetLength()==0||nNewId<=0){
		return;
	}
	strNewName.Replace(_T("'"),_T("''"));
	TCHAR szSql[1024]={0};
	_stprintf(szSql,_T("update Students set StudentId=%d,StudentName='%s' where StudentId=%d"),nNewId,strNewName,nId);

	Execute(szSql);
	GetDataset();
}

至此,整个mini系统都已经结束。
初次写完整个小项目,如有不妥之处,欢迎各位指出不足,并予以纠正,谢谢。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值