不用控件创建数据库

 首先,在StdAfx.h文件中,添加库:

#import "c:/Program Files/Common Files/System/ado/msado15.dll" no_namespace rename("EOF" ,"adoEOF")

其次,创建专属于数据库读取函数:

//.h中

 _ConnectionPtr m_pConnection;
 _RecordsetPtr m_pRecordset; 

void SetDataBase(CString sql);

//.cpp中

void CTextboxListDlg::SetDataBase(CString sql)
{


 ::CoInitialize(NULL);
 m_pConnection=NULL;
 m_pConnection.CreateInstance(__uuidof(Connection));
 m_pConnection->ConnectionString="uid=;pwd=;DRIVER={Microsoft Access Driver (*.mdb)};DBQ=mrdb.mdb;";
 m_pConnection->Open(L"",L"",L"",adCmdUnspecified);
 CString text;
 text.Format("select * from info where xm like '%s%%'",sql);
    m_pRecordset=m_pConnection->Execute((_bstr_t)text,NULL,adCmdText);
 if(m_pRecordset->GetRecordCount()==0)
 {m_tiplist.ShowWindow(SW_HIDE);}
 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_tiplist.InsertItem(i,"");
 m_tiplist.SetItemText(i,0,xm);
 m_tiplist.SetItemText(i,1,xb);
 m_tiplist.SetItemText(i,2,csrq);
 m_tiplist.SetItemText(i,3,gzdw);
 m_tiplist.SetItemText(i,4,yddh);
 m_tiplist.SetItemText(i,5,gddh);
 i+=1;
 m_pRecordset->MoveNext();
 }
 m_pRecordset->Close();
 m_pConnection->Close();
 m_pRecordset=NULL;
 m_pConnection=NULL;
 ::CoUninitialize();
}

最后,不要忘记用List列表控件把数据导出来!

 // TODO: Add extra initialization here
 m_tiplist.ModifyStyle(0L,LVS_REPORT);
 m_tiplist.ModifyStyle(0L,LVS_SHOWSELALWAYS);
 m_tiplist.ModifyStyle(0L,LVS_NOSORTHEADER);
 m_tiplist.SetExtendedStyle(LVS_EX_GRIDLINES);
 m_tiplist.InsertColumn(0,"姓名");
 m_tiplist.InsertColumn(1,"性别");
 m_tiplist.InsertColumn(2,"出生日期");

 m_tiplist.SetColumnWidth(0,50);
 m_tiplist.SetColumnWidth(1,50);
 m_tiplist.SetColumnWidth(2,100);
 m_edobj.MoveWindow(15,15,150,21);

如法炮制吧!

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值