预览加载中,请您耐心等待几秒...
1/10
2/10
3/10
4/10
5/10
6/10
7/10
8/10
9/10
10/10

亲,该文档总共13页,到这已经超出免费预览范围,如果喜欢就直接下载吧~

如果您无法下载资料,请参考说明:

1、部分资料下载需要金币,请确保您的账户上有足够的金币

2、已购买过的文档,再次下载不重复扣费

3、资料包下载后请先用软件解压,在使用对应软件打开

使用ADO及listCtrl控件操作ACCESS数据库 第1步:显示数据记录 ●创建基于对话框的应用程序AdoList。 ●加入ListControl控件,设置属性如下: ID值为IDC_LIST1 View列表选Report Singleselection选中(限制列表项单选) ●在StdAfx.h文件加入下面命令: #import"C:\ProgramFiles\CommonFiles\System\ado\msado15.dll"no_namespacerename("EOF","adoEOF") ●使用类向导为IDC_LIST1列表视控件绑定控件型变量m_list ●在CadoListDlg类添加下面三个成员变量 _ConnectionPtrm_pConnection; _RecordsetPtrm_pRecordset; ●在BOOLCAdoListDlg::OnInitDialog()窗口初始化函数中加入下面命令: //TODO:Addextrainitializationhere CoInitialize(NULL); try { HRESULThr; m_pConnection.CreateInstance("ADODB.Connection"); hr=m_pConnection->Open("Provider=Microsoft.Jet.OLEDB.4.0;DataSource=stu1.mdb","","",adModeUnknown); } catch(_com_errore) { CStringerrormessage; errormessage.Format("连接数据库失败!\n错误信息:%s",e.ErrorMessage()); AfxMessageBox(errormessage); } try { m_pRecordset.CreateInstance(__uuidof(Recordset)); m_pRecordset->Open("SELECT*FROMstudent",m_pConnection.GetInterfacePtr(),adOpenDynamic,adLockOptimistic,adCmdText); } catch(_com_errore) { CStringerrormessage; errormessage.Format("连接数据库表失败!\n错误信息:%s",e.ErrorMessage()); AfxMessageBox(errormessage); } m_list.SetExtendedStyle(LVS_EX_FLATSB |LVS_EX_FULLROWSELECT//点击一项时,整行都为选中状态 |LVS_EX_GRIDLINES);//设置网格线 m_list.InsertColumn(0,"学号",LVCFMT_LEFT,80); m_list.InsertColumn(1,"姓名",LVCFMT_LEFT,50); m_list.InsertColumn(2,"年龄",LVCFMT_RIGHT,36); disp();//显示数据库数据记录 returnTRUE;//returnTRUEunlessyousetthefocustoacontrol ●在CAdoListDlg类添加下面成员函数disp()(并在类定义中声明)显示数据库记录: voidCAdoListDlg::disp() { m_list.DeleteAllItems(); inti=0; m_pRecordset->MoveFirst(); while(!m_pRecordset->adoEOF)//adoEOF是末尾标识 { _variant_ttheValue; CStringid,name,age; theValue=m_pRecordset->GetCollect("StuID");//获取学号 if(theValue.vt!=VT_NULL) id=(char*)_bstr_t(theValue); theValue=m_pRecordset->GetCollect("StuName");//获取姓名 if(theValue.vt!=VT_NULL) name=(char*)_bstr_t(theValue); theValue=m_pRecordset->GetCollect("age");//获取年龄 if(theValue.vt!=VT_NULL) age.Format("%d",theValue.iVal); m_lis