VC下的ADO编程入门(2-3)

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

在正式进入本主题前,让我们先来看一下COM API编程

#include <windows.h>

#include <objbase.h>

#include <initguid.h>

#include "adoid.h"

#include "adoint.h"

struct InitOle

{

InitOle(){::CoInitialize(NULL);}

~InitOle(){::CoUninitialize();}

}_init_InitOle_;

void main(int argc, char* argv[])

{

HRESULT hr = S_OK;

ADORecordset *Rs1 = NULL;

VARIANT Source;

VARIANT Connect;

VariantInit(&Source);

VariantInit(&Connect);

Source.vt = VT_BSTR;

Source.bstrVal = ::SysAllocString(L"SELECT * FROM Customers");

Connect.vt = VT_BSTR;

Connect.bstrVal = ::SysAllocString(L"Provider=SQLOLEDB; data source=127.0.0.1;initial catalog=Northwind; user id=sa; password=;");

hr = CoCreateInstance(CLSID_CADORecordset, NULL, CLSCTX_INPROC_SERVER, IID_IADORecordset, (LPVOID *)&Rs1 );

if(SUCCEEDED(hr))

{

Rs1->put_CursorLocation(adUseClient);

hr = Rs1->Open(Source, Connect, adOpenForwardOnly, adLockReadOnly,-1);

long n;

Rs1->get_RecordCount(&n);

Rs1->Close();

Rs1->Release(); Rs1 = NULL;

::MessageBox(NULL, "Success!", "", MB_OK);

printf("%d",n);

}

}

本例完成的功能就是取得数据库中某表的记录数。

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