VC下的ADO编程入门(1)

王朝vc·作者佚名  2006-01-09
宽屏版  字体: |||超大  

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.cpp的BOOL 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数据库中的某表添加到列表视图中。

(完)

 
 
 
免责声明:本文为网络用户发布,其观点仅代表作者个人观点,与本站无关,本站仅提供信息存储服务。文中陈述内容未经本站证实,其真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。
© 2005- 王朝网络 版权所有