procedureslistx.cpp
来自「visual c++ 很全的ado的sample」· C++ 代码 · 共 94 行
CPP
94 行
#import "c:\Program Files\Common Files\system\ado\msadox.dll" \
no_namespace
#import "c:\Program Files\Common Files\system\ado\msado15.dll"
#include "iostream.h"
#include "stdio.h"
#include "conio.h"
//Function declarations
inline void TESTHR(HRESULT x) {if FAILED(x) _com_issue_error(x);};
void ProceduresListX(void);
//////////////////////////////////////////////////////////
// //
// Main Function //
// //
//////////////////////////////////////////////////////////
void main()
{
if(FAILED(::CoInitialize(NULL)))
return;
ProceduresListX();
::CoUninitialize();
}
//////////////////////////////////////////////////////////
// //
// ProceduresListX Function //
// //
//////////////////////////////////////////////////////////
void ProceduresListX()
{
HRESULT hr = S_OK;
// Define ADOX object pointers.
// Initialize pointers on define.
// These are in the ADOX:: namespace.
_CatalogPtr m_pCatalog = NULL;
// Define ADODB object pointers.
ADODB::_ConnectionPtr m_pCnn = NULL;
ADODB::_CommandPtr m_pCommand = NULL;
long lngLineCnt = 1;
try
{
//Open the Connection
TESTHR(hr = m_pCnn.CreateInstance(__uuidof(ADODB::Connection)));
TESTHR(hr = m_pCatalog.CreateInstance(__uuidof(Catalog)));
TESTHR(hr = m_pCommand.CreateInstance(__uuidof(ADODB::Command)));
// m_pCnn->Open("Provider=Microsoft.Jet.OLEDB.4.0;"
// "data source=c:\\Program Files\\Microsoft Office"
// "\\Office\\Samples\\Northwind.mdb;","","",NULL);
m_pCnn->Open("Provider=sqloledb;data source=dhale1;user id=sa;"
"database=pubs;password=;","","",NULL);
//Open the catalog
m_pCatalog->PutActiveConnection(_variant_t((IDispatch *)m_pCnn));
//iterate through the procedures
for(long i=0;i < m_pCatalog->Procedures->Count;i++)
{
printf("%d. %s\n",i,(LPCSTR) m_pCatalog->Procedures->GetItem(i)->Name);
if(lngLineCnt % 20 == 0)
{
printf("%s\n","Press any key to continue...");
getch();
lngLineCnt = 1;
}
lngLineCnt++;
}
}
catch(_com_error &e)
{
// Notify the user of errors if any.
_bstr_t bstrSource(e.Source());
_bstr_t bstrDescription(e.Description());
printf("\n\tSource : %s \n\tdescription : %s \n ",(LPCSTR)bstrSource,(LPCSTR)bstrDescription);
}
catch(...)
{
cout << "Error occured in include files...."<< endl;
}
}
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?