VS2013 MFC ODBC连接SQL SERVER数据库编程(二)

VS2013 MFC ODBC连接SQL SERVER数据库编程(二)

转载请注明:http://blog.csdn.net/my_acm/article/category/2616577


在上一篇中,我已经说明了如何连接SQL SERVER数据库

下面参考http://wenku.baidu.com/link?url=h1rGgnhSmnclH2lFexHmlP_SZ2LUDRy5xM4wrbTfYlRXZLj2o0ugMT_PFGRxA1XI2pm8NUuEcKGQRA6D77ZieDoyMAqlUUDMaQQz2nqYTNm

做出了一部分实现,效果图如下所示,全部功能实现将会在下一篇中给出。


首先在连接数据库的基础上,做出一张如上图所示的界面,这个不难吧。

可以看到在连接数据库的score.h中,Cscore类继承了CRecordset类,有六个成员变量,分别对应数据库中的六个字段。




我们将编辑框,List control分别绑定变量,如下图所示。




然后在TestDlg.cpp中的OnInitDialog函数中添加如下代码。



添加成员函数void List_All()用于把表中数据全部都显示到list control中。




下面是list_all的具体实现。

void CTestDlg::List_All(CString str){
	m_list.DeleteAllItems();
	Cscore m_score;
	try{
		if (m_score.IsOpen())
			m_score.Close();
		if (!m_score.Open(CRecordset::snapshot, str)){
			MessageBox(L"打开数据库失败", L"数据库错误", MB_OK);
			return;
		}
	}
	catch (CDBException *e){
		e->ReportError();
	}
	
	int nindex = 0;
	m_score.MoveFirst();
	CString uscore, tscore, fscore;

	while (!m_score.IsEOF()){
		LV_ITEM litem;
		litem.mask = LVIF_TEXT;
		litem.iItem = nindex;
		litem.iSubItem = 0;
		litem.pszText = L"";
		
		m_list.InsertItem(&litem);
		
		m_list.SetItemText(nindex, 0, m_score.m_stuid);
		m_list.SetItemText(nindex, 1, m_score.m_stuname);
		m_list.SetItemText(nindex, 2, m_score.m_stuclass);

		uscore.Format(L"%3d", m_score.m_usualscore);
		tscore.Format(L"%3d", m_score.m_testscore);
		fscore.Format(L"%3d", m_score.m_totalscore);

		m_list.SetItemText(nindex, 3, uscore);
		m_list.SetItemText(nindex, 4, tscore);
		m_list.SetItemText(nindex, 5, fscore);

		m_score.MoveNext();
		nindex++;
	}
	m_score.Close();
}


郑重声明:本站内容如果来自互联网及其他传播媒体,其版权均属原媒体及文章作者所有。转载目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。