VC下的ADO编程入门(2-4)
好了,现在我们正式进入本主题,Let's go
n 新建一个基于对话的应用程序zjy,在对话框上添加一个按钮和列表控件,并把列表控件的样式设置为报表视图,还有用classwizard给列表控件添加一个控件变量m_list
n 在StdAfx.h头文件中添加一条如下语句
#import "c:program filescommon filessystemadomsado15.dll" no_namespace rename("EOF","adoEOF")
n 在zjy.cpp开始处添加自动初始化COM库的代码
struct InitOle
{
InitOle(){::CoInitialize(NULL);}
~InitOle(){::CoUninitialize();}
}_init_InitOle_;
n 在zjyDlg.h中添加三个成员变量
bool m_IsConnectionOpen;
_ConnectionPtr m_pConnection;
_RecordsetPtr m_pRecordset;
n 在zjyDlg.cpp的BOOL CZjyDlg::OnInitDialog()的 return TRUE;前面添加如下代码
// TODO: Add extra initialization here
HRESULT hr;
_bstr_t bstrQuery("select * from customers");
_bstr_t strConnect="Provider=SQLOLEDB; data source=127.0.0.1;initial catalog=Northwind;";
_variant_t vRecsAffected(0L);
_variant_t vNULL;
vNULL.vt=VT_ERROR;
vNULL.scode =DISP_E_PARAMNOTFOUND;
try
{
hr=m_pConnection.CreateInstance(__uuidof(Connection));
if(SUCCEEDED(hr))
{
hr=m_pConnection->Open(strConnect,_bstr_t(L"sa"),_bstr_t(L""),adConnectUnspecified);
if(SUCCEEDED(hr))
{
hr=m_pRecordset.CreateInstance(__uuidof(Recordset));
if(SUCCEEDED(hr))
{
m_pRecordset->PutRefActiveConnection(m_pConnection);
hr=m_pRecordset->Open(_variant_t
- 上一篇:VC快捷键:
- 下一篇:VC下的ADO编程入门(2-3)