向List Control中添加ACCESS数据内容

转:

 

给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


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值