ADO方法对Access数据库操作.docx

ADO方法对Access数据库操作

Access数据库创建新建一个Accesss数据库文件,然后文件--新建--空白桌面数据库,弹出下面的窗口。点击那个小文件夹的图标,出现下面的窗口,保存类型选择2002—2003格式,文件名shujuku.mdb,然后确定,创建。然后在设计视图中设计数据库成下面的样式。再在数据库中增添一些信息如下:然后保存就可以了,记得注意一下把“表1”这个名字改过来啊。二、在VC++中建立一个基于对话框的工程(在这里取名为sjtest) 1、在FileView中的Header Files的StdAfx.h头文件中导入msado15.dll文件。(代码如下) #import C:\Program Files\Common Files\System\ado\msado15.dll no_namespace \ rename(EOF,adoEOF)rename(BOF,adoBOF) 2、在主窗口类声明两个变量。(在CsjtestDlg.h中) 代码:(这两个是智能指针,百度一下哈)_ConnectionPtrm_pConnection; _RecordsetPtrm_pRecordset; 3、在对话框中添加一个ListControl控件,并且将其属性中的Style设置如图4、为list control捆绑变量m_Grid(查看—建立类向导—Add Member variable name)5、在CSjtestApp应用程序类中的初始化函数InitInstance()中初始化COM环境在上面添加:::CoInitialize(NULL); 并在return之前释放:添加代码如下:::CoUninitialize();6、建立ADO连接数据库函数在主窗口类(CSjktestDlg)库中添加函数OnInitADOConn()如图:并在函数体中写上下面的语句:try{//创建连接对象实例m_pConnection.CreateInstance(ADODB.Connection);//设置连接字符串CStringstrConnect=DRIVER={Microsoft Access Driver (*.mdb)};\uid=;pwd=;DBQ=shujuku.mdb;;//使用Open方法连接数据库m_pConnection-Open((_bstr_t)strConnect,,,adModeUnknown);}catch(_com_error e){AfxMessageBox(连接数据失败,请检查数据库路径是否正确!);}这里,shujuku.mdb是你建立的Access数据库的名字。7、建立关闭记录集和连接函数ExitConnect()。在主窗口类(CSjktestDlg)库中添加函数ExitConnect()如图:在函数体上写上:if(m_pRecordset!=NULL)m_pRecordset-Close();m_pConnection-Close();8、接着在初始化对话框中调用OnInitADOConn函数,已经获取数据库表中数据并显示在列表控件中。代码如下: m_Grid.SetExtendedStyle(LVS_EX_FLATSB |LVS_EX_FULLROWSELECT |LVS_EX_HEADERDRAGDROP |LVS_EX_ONECLICKACTIVATE |LVS_EX_GRIDLINES); m_Grid.InsertColumn(0,员工编号,LVCFMT_LEFT,80,0); m_Grid.InsertColumn(1,员工姓名,LVCFMT_LEFT,80,1); m_Grid.InsertColumn(2,所属部门,LVCFMT_LEFT,80,2); m_Grid.InsertColumn(3,基本工资,LVCFMT_LEFT,80,3); //连接数据库OnInitADOConn(); //设置查询字符串_bstr_tbstrSQL = select * from employees order by 员工编号desc; //创建记录集指针对象实例m_pRecordset.CreateInstance(__uuidof(Recordset));//该句也可以使用// m_pRecordset.CreateInstance(“ADODB.Recordset”);代替//打开记录集m_pRecordset-Open(bstrSQL,m_pConnection.GetInterfacePtr(),adOpenDynamic, adLockOptimistic,adCmdText); while(!m_pRecordset-adoEOF) { m_Grid.InsertItem(0,); m_Grid.SetIte

文档评论(0)

1亿VIP精品文档

相关文档