1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64
| int CHowToADOView::OnCreate(LPCREATESTRUCT lpCreateStruct)
{
HRESULT hr = m_pConnection.CreateInstance(__uuidof(ADODB::Connection));
if (FAILED(hr))
{
AfxMessageBox(_T("CREATE CONNECTION INSTANCE ERROR !!!"));
}
m_pConnection->CursorLocation = ADODB::adUseClient;
HRESULT hr2 = m_pConnection->Open(L"Provider=MSDAORA.1;Password=systemtest1;User ID=system;Data Source=test1sid_10.12.1.2;Persist Security Info=True", L"",L"", ADODB::adConnectUnspecified);
if (FAILED(hr2))
{
AfxMessageBox(_T("OPEN CONNECTION ERROR !!!"));
}
return 0;
}
void CHowToADOView::OnBnClickedOpenschema2()
{
// open it
try
{
_variant_t vSourceSchema = L"MYSCHEMA";
_variant_t vSource = L"TABLE1";
_variant_t varCriteria[3];
_variant_t vtNull;
vtNull.vt = VT_NULL;
varCriteria[0] = vtNull;
varCriteria[1] = vtNull;
varCriteria[2] = vSource;
// Creating a safe array of variants with 3 elements.
VARIANT varData;
SAFEARRAY FAR* psa;
SAFEARRAYBOUND rgsabound[1];
rgsabound[0].lLbound = 0;
rgsabound[0].cElements = 3;
psa = SafeArrayCreate(VT_VARIANT, 1, rgsabound);
// Fill the safe array.
for(long lIndex = 0 ; lIndex < 3 ;lIndex++)
{
SafeArrayPutElement(psa, &lIndex,&varCriteria[lIndex]);
}
// Initialize the safearray.
varData.vt = VT_VARIANT | VT_ARRAY;
V_ARRAY(&varData) = psa;
ADODB::_RecordsetPtr tempRS;
tempRS = NULL;
tempRS.CreateInstance( __uuidof( ADODB::Recordset ) );
tempRS = m_pConnection->OpenSchema(ADODB::adSchemaColumns,varData);
if (!(tempRS->GetADOEOF()))
AfxMessageBox(_T("IL Y QUELQUES CHOSES DANS tempRS"));
else
AfxMessageBox(_T("IL N'Y A RIEN DANS tempRS"));
}
catch (_com_error& e)
{
CString str = (CString)(e.Description().GetBSTR()) +"\r\n"+ (CString)(e.ErrorMessage());
AfxMessageBox(str);
}
} |
Partager