工控编程吧
标题:
75上位机VC MFC列表视图加载显示数据库数据
[打印本页]
作者:
qq263946146
时间:
2015-12-10 23:07
标题:
75上位机VC MFC列表视图加载显示数据库数据
(, 下载次数: 2)
上传
点击文件名下载附件
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>
复制代码
[iqiyi]http://player.video.qiyi.com/957f2db7068a8681efbab35f2c880fd0/0/0/w_19rt6t0tfd.swf-albumId=5007695509-tvId=5007695509-isPurchase=0-cnId=12[/iqiyi]
(, 下载次数: 0)
上传
点击文件名下载附件
[note]1
[/note]
欢迎光临 工控编程吧 (https://www.gkbc8.com/)
Powered by Discuz! X3.4