75上位机VC MFC列表视图加载显示数据库数据
75上位机VC MFC列表视图加载显示数据库数据
功能展示
时常我们在上位机开发时,都要进行数据的显示,我们当前例程实现了,在对数据库文件进行数据加载后,把加载的数据显示在列表视图上的功能,效果如图 要点提示 往列表视图CListCtrl类添加数据可以用它的SetItemText(); 在使用这个函数前列表视图得有行与列供数据的添加,也就是得先调用InsertColunm()与InsertItem()方法进行列与行的添加后,才能够再进行数据的显示; BOOL SetItemText( int nItem, int nSubItem, LPTSTR lpszText ); nItem, nSubItem为列表视图的行与列索引, lpszText 为要添加的文本; 另外在使用ADO数据时,需要导入一个ADO动态链接库msado15.dll,该动态库位于系统盘下的“Program Files\CommonFiles\System\ado\”目录下。也就是得添加一语法#import “C:\Program Files\CommonFiles\System\ado\msado15.dll” no_namespace rename(“EOF” ,“adoEOF”) 完成动态调用
实现功能 1.新建基于对话框的应用程序 2.拖拽一列表视图控件关联变量CListCtrl m_List;添加一按钮控件关联函数OnAdd();
3.对列表视图变量初始化//><初始化列表视图 - m_List.ModifyStyle(0L,LVS_REPORT|LVS_SINGLESEL);
- m_List.InsertColumn(0,"网站");
- m_List.InsertColumn(1,"网址");
- m_List.InsertColumn(2,"站长");
- m_List.InsertColumn(3,"QQ");
- m_List.InsertColumn(4,"移动电话");
- m_List.InsertColumn(4,"固定电话");
- m_List.SetColumnWidth(0,100);
- m_List.SetColumnWidth(1,100);
- m_List.SetColumnWidth(2,70);
- m_List.SetColumnWidth(3,70);
- m_List.SetColumnWidth(4,70);
- m_List.SetColumnWidth(5,70);
复制代码4.实现数据动态库文件的加载#import "C:\Program Files\CommonFiles\System\ado\msado15.dll" no_namespace rename("EOF","adoEOF")
5,实现按钮函数的数据加载功能 - void CGkbc8Dlg::OnAdd()
- {
- _ConnectionPtr m_pConnection;
- _RecordsetPtr m_pRecordset;
- CString xm,xb,csrq,gzdw,yddh,gddh ;
复制代码-
- ::CoInitialize(NULL);
- m_pConnection=NULL;
- m_pConnection.CreateInstance(__uuidof(Connection));
- m_pConnection->ConnectionString="uid=;pwd=;DRIVER={Microsoft Access Driver (*.mdb)};DBQ=database.mdb;";
- m_pConnection->Open(L"",L"",L"",adCmdUnspecified);
- _bstr_t bstrSQL="select * from info";
- m_pRecordset=m_pConnection->Execute(bstrSQL,NULL,adCmdText);
- int i=0;
- while(!m_pRecordset->adoEOF)
- {
- xm=(char*)(_bstr_t)m_pRecordset->GetCollect("xm");
- xb=(char*)(_bstr_t)m_pRecordset->GetCollect("xb");
- csrq=(char*)(_bstr_t)m_pRecordset->GetCollect("csrq");
- gzdw=(char*)(_bstr_t)m_pRecordset->GetCollect("gzdw");
- yddh=(char*)(_bstr_t)m_pRecordset->GetCollect("yddh");
- gddh=(char*)(_bstr_t)m_pRecordset->GetCollect("gddh");
- m_List.InsertItem(i,"");//插入一行列表
- m_List.SetItemText(i,0,xm);
- m_List.SetItemText(i,1,xb);
- m_List.SetItemText(i,2,csrq);
- m_List.SetItemText(i,3,gzdw);
- m_List.SetItemText(i,4,yddh);
- m_List.SetItemText(i,5,gddh);
- i++;
- m_pRecordset->MoveNext();
- }
- m_pRecordset->Close();
- m_pConnection->Close();
- m_pRecordset=NULL;
- m_pConnection=NULL;
- ::CoUninitialize();
- }
- <div style="text-align: center;"><span style="font-size: x-large; line-height: 1.5;"><b>我们来演示下功能实现的整个过程</b></span></div>
复制代码
|