VC语言

本类阅读TOP10

·VC++ 学习笔记(二)
·用Visual C++打造IE浏览器(1)
·每个开发人员现在应该下载的十种必备工具
·教你用VC6做QQ对对碰外挂程序
·Netmsg 局域网聊天程序
·Windows消息大全
·VC++下使用ADO编写数据库程序
·VC++学习笔记(四)
·非法探取密码的原理及其防范
·怎样在VC++中访问、修改注册表

分类导航
VC语言Delphi
VB语言ASP
PerlJava
Script数据库
其他语言游戏开发
文件格式网站制作
软件工程.NET开发
VC下的ADO编程入门(1)

作者:未知 来源:月光软件站 加入时间:2005-2-28 月光软件站

VC下的ADO编程入门

 

n          新建一基于对话框的应用程序zjy,在对话框上添加一个列表框和一个按钮,用ClassWizard给列表框添加一个变量m_list

n          StdAfx.h头文件的所有include语句下面添加如下一条语句

#import "c:\program files\common files\system\ado\msado15.dll" no_namespace rename ("EOF","adoEOF")

n          zjyDlg.h头文件处添加两个变量

         _ConnectionPtr m_pConnection;

         _RecordsetPtr m_pRecordset;

n          zjyDlg.cppBOOL CZjyDlg::OnInitDialog()return TRUE;语句前添加如下语句

         if(!AfxOleInit())

         {

                   AfxMessageBox("COM Error!");

                  

         }

n          添加按钮的消息响应函数并写入下面代码

void CZjyDlg::OnButton1()

{

         m_list.ResetContent();

         int i=0;

         m_pConnection.CreateInstance(__uuidof(Connection));

         m_pRecordset.CreateInstance(__uuidof(Recordset));

         try{

                   m_pConnection->Open("Provider=Microsoft.Jet.OLEDB.4.0;Data Source=E:\\ActiveX 数据对象\\VC_ACCESS\\zjy\\MyDb1.mdb;","","",0);

                   m_pRecordset->Open("SELECT * FROM MyTable1",(IDispatch *)m_pConnection,adOpenDynamic,adLockOptimistic,adCmdText);

                   m_pRecordset->MoveFirst();

                   while(!m_pRecordset->adoEOF)

                   {

                            i=i+1;

                            _variant_t theValue = m_pRecordset->GetCollect("n1");

                            if(theValue.vt != VT_NULL)

                                     m_list.AddString((char *)_bstr_t(theValue));

                            m_pRecordset->MoveNext();

                   }

                   m_pRecordset->Close();

                   m_pConnection->Close();

         }

         catch(_com_error e)

         {

                   AfxMessageBox(e.ErrorMessage());

         }

 

         char str[32];

         sprintf(str,"table have %d record",i);

         AfxMessageBox(str);

 

         m_pRecordset = NULL;

         m_pConnection = NULL;

}

完成的功能就是把Access数据库中的某表的某一字段添加到列表框中。下一篇介绍把SQL SERVER数据库中的某表添加到列表视图中。

()




相关文章

相关软件