您的位置:首页 > 其它

向List Control中添加ACCESS数据内容

2014-10-11 16:34 302 查看
转:



给List Control 添加变量tt



加入引入ADO使用智能指针

#import "c:\program files\common files\system\ado\msado15.dll"no_namespace \rename ("EOF", "adoEOF")rename ("BOF", "adoBOF")



添加几个全局变量

RecordsetPtr vb;

_ConnectionPtr zhu;

CString xm,dz,yb;



在*.cpp文件中寻找

BOOL CDfApp::InitInstance()

{

AfxOleInit(); // <---添加,初始化COM

AfxEnableControlContainer();

//在窗体初始化事件中加入

tt.ModifyStyle(0L,LVS_REPORT);

tt.ModifyStyle(0L,LVS_SINGLESEL);

tt.ModifyStyle(0L,LVS_SHOWSELALWAYS);

tt.ModifyStyle(0L,LVS_NOSORTHEADER);

tt.SetExtendedStyle(LVS_EX_GRIDLINES); //以上这些地方为设置List Control属性和风格

tt.InsertColumn(0,"姓名"); //以下这些设置列和它们的长度

tt.InsertColumn(1,"地址");

tt.InsertColumn(2,"邮编");

tt.SetColumnWidth(0,100);

tt.SetColumnWidth(1,100);

tt.SetColumnWidth(2,100);

zhu=NULL;

zhu.CreateInstance(__uuidof(Connection));

zhu->ConnectionString="uid=;pwd=;DRIVER={Microsoft Access Driver (*.mdb)};DBQ=zhu.mdb;";

//连接字符串

zhu->Open(L"",L"",L"",adCmdUnspecified); //打开连接

_bstr_t ha="select * from zrn"; //查询ZRN表里的数据

vb=zhu->Execute(ha,NULL,adCmdText); //获取记录集

int i=0;

while(!vb->adoEOF)

{

xm=(char*)(_bstr_t)vb->GetCollect("xm"); //xm,dz,yb 分别为你自己数据库的列名

dz=(char*)(_bstr_t)vb->GetCollect("dz"); //把这一记录中数据库里dz列下的值给字符串dz

yb=(char*)(_bstr_t)vb->GetCollect("yb");

tt.InsertItem(i,"");

tt.SetItemText(i,0,xm); //添加到list Control 中的第i行的第一列下

tt.SetItemText(i,1,dz); //添加到list Control 中的第i行的第二列下

tt.SetItemText(i,2,yb); //添加到list Control 中的第i行的第三列下

i+=1; //下次循环指向第2行

vb->MoveNext(); //移动到下一个记录

}

vb->Close(); //关闭记录集指针

zhu->Close(); //关闭数据库连接

vb=NULL;

zhu=NULL;

::CoUninitialize(); 收回COM



自己:

读取数据库中内容 输出到List Control里:

定义 CListCtrl m_ShowAdmin;

BOOL CSHOW::OnInitDialog()

{

CDialog::OnInitDialog();



// TODO: Add extra initialization here

//获取原风格属性

DWORD dwStyle = m_ShowAdmin.GetExtendedStyle();

//添加CheckBox、整行选中、表格线属性

dwStyle |= LVS_EX_FULLROWSELECT |LVS_EX_GRIDLINES;

//设置新属性到控件

m_ShowAdmin.SetExtendedStyle( dwStyle );

m_ShowAdmin.InsertColumn(0,"用户名",LVCFMT_CENTER,80,0);

m_ShowAdmin.InsertColumn(1,"密 码",LVCFMT_CENTER,80,1);

_variant_t Sqlq="select * from Admin";

theApp.ADOExecute(theApp.m_pRs,Sqlq);

theApp.m_pRs->MoveFirst();

int i=0;

while(!theApp.m_pRs->adoEOF)

{

CString s1=(char*)(_bstr_t)theApp.m_pRs->GetCollect("Admin_User");

CString s2=(char*)(_bstr_t)theApp.m_pRs->GetCollect("Admin_Password

m_ShowAdmin.InsertItem(i,"");

m_ShowAdmin.SetItemText(i,0,s1);

m_ShowAdmin.SetItemText(i,1,s2);

i+=1;

theApp.m_pRs->MoveNext();

}

return TRUE; // return TRUE unless you set the focus to a control

// EXCEPTION: OCX Property Pages should return FALSE

}

FROM: http://blog.sina.com.cn/s/blog_6854d4190100u1nh.html
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐