Als ik deze code uitvoer, door op de Test button te klikken zie ik in de Task-manager de memory-usage bij elke klik stijgen.
Wat ben ik vergeten?
Ik weet het de code heeft (nog) geen enkel nut, dus gelieve daar geen opmerkingen over te geven.
RsAN is een klasse overgeërfd van CADORecordBinding te vinden in ICRSINT.H
Wat ben ik vergeten?
Ik weet het de code heeft (nog) geen enkel nut, dus gelieve daar geen opmerkingen over te geven.
RsAN is een klasse overgeërfd van CADORecordBinding te vinden in ICRSINT.H
code:
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
| inline void TESTHR(HRESULT x) {if FAILED(x) _com_issue_error(x);};
void CDabc::OnTest()
{
RsAN rsAN;
_RecordsetPtr pRstAn = NULL;
_ConnectionPtr pConnection = NULL;
// Define string variables.
_bstr_t strCnn("Provider=sqloledb;Data Source=destptl;Initial Catalog=Test;User Id=john;Password=doe;");
// Define Other Variables.
HRESULT hr = S_OK;
IADORecordBinding *picRs = NULL; // Interface Pointer declared.
try {
TESTHR(pConnection.CreateInstance(__uuidof(Connection)));
pConnection->Open(strCnn,"","",adConnectUnspecified);
TESTHR(pRstAn.CreateInstance(__uuidof(Recordset)));
pRstAn->Open("An", _variant_t((IDispatch *)pConnection,true), adOpenKeyset, adLockOptimistic, adCmdTable);
// Open an IADORecordBinding interface pointer which we'll
// use for Binding Recordset to a class.
TESTHR(pRstAn->QueryInterface(__uuidof(IADORecordBinding),(LPVOID*)&picRs));
//Bind the Recordset to a C++ Class here.
TESTHR(picRs->BindToRecordset(&rsAN));
// Clean up objects before exit.
pRstAn->Close();
pConnection->Close();
pRstAn.Release();
pConnection.Release();
}
catch(_com_error &e)
{
//
}
} |