打开APP
userphoto
未登录

开通VIP,畅享免费电子书等14项超值服

开通VIP
database ado

void ReadRecordToList(CListCtrl m_Dlist,CString &szDb, char *sztab, _ConnectionPtr m_pConnect , _RecordsetPtr m_pRecordset)//
{
 m_Dlist.DeleteAllItems();

// char *szDb;
// szDb="history";
 FieldPtr ptr;
 CString fieldname;
    LPSTR fieldText;
 long m_fieldscount,m_listcolumnscount;
 int numline=0;
 BOOL bn=OpenDatabase(m_pConnect,szDb,szServer,szUser,szPwd);
 if (bn )
 {
  char szSQL[512];
  sprintf(szSQL, sztab);
  m_pRecordset.CreateInstance("ADODB.Recordset");
  HRESULT hr = m_pRecordset->Open(szSQL,_variant_t(m_pConnect,true),adOpenDynamic,adLockPessimistic,adCmdText);
  if(m_pRecordset->adoEOF)
   {
   AfxMessageBox("数据库表中没有记录信息!");
  }
  else
  {
   m_fieldscount=m_pRecordset->GetFields()->GetCount(); file://获得记录总数
   m_listcolumnscount=m_fieldscount;
   LV_ITEM lvitem;
   lvitem.mask=LVIF_TEXT ;
   lvitem.pszText="";
   lvitem.iSubItem=0;
   while(!m_pRecordset->adoEOF)
   {
    lvitem.iItem=numline;
    m_Dlist.InsertItem(&lvitem);
    file://读出数据写入到list中
    for(long i=0;i<m_listcolumnscount;i++){
     ptr=m_pRecordset->GetFields()->GetItem(i);
     fieldname= (LPCTSTR)(_bstr_t)ptr->Name;
     fieldText=fieldname.GetBuffer(fieldname.GetLength());     
     m_Dlist.SetItemText(numline,i,(LPCTSTR)(_bstr_t)m_pRecordset->GetCollect(fieldText));
    }
    numline++;
    m_pRecordset->MoveNext();
   }
  }
  if(m_pRecordset->State)
    m_pRecordset->Close();
  m_pRecordset.Release();
  CloseDatabase(m_pConnect);
 }


}

本站仅提供存储服务,所有内容均由用户发布,如发现有害或侵权内容,请点击举报
打开APP,阅读全文并永久保存 查看更多类似文章
猜你喜欢
类似文章
转贴:VC++6.0下使用ADO技术访问SQL 数据库
C++在数据库中插入数据
(转)VC下ADO访问远程ORACLE数据库
从txt向access录入数据
使用VC连接Access数据库的两种方法
VC下ADO数据库操作的封装类
更多类似文章 >>
生活服务
热点新闻
分享 收藏 导长图 关注 下载文章
绑定账号成功
后续可登录账号畅享VIP特权!
如果VIP功能使用有故障,
可点击这里联系客服!

联系客服