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(); }
看到挺多人需要这份代码的,我这里就给大家一个共享吧
连接:http://pan.baidu.com/s/1ntKeKVB
密码:echr