Ich greife auf DB mit ADO:
// COM-Umgebung initialisieren
::CoInitialize(NULL);
try
{
// ADO Berechtigung CreateInstance von Connection
pConn.CreateInstance(__uuidof(Connection));
// ADO Berechtigung CreateInstance von Command
pCmd.CreateInstance(__uuidof(Command));
// Datensatzobjekt erzeugen von Recordset
m_pRs.CreateInstance(__uuidof(Recordset));
// Datensatzobjekt öffnen
pConn->Open(bstrConnection,L"sa",L"", adOpenUnspecified);
pCmd->ActiveConnection = pConn;
pCmd->CommandText = bstrCmdText;//“select *from irgendwas“
//m_pRs = pCmd->Execute();
m_pRs->PutRefSource(pCmd);
// NULL vom Typ Variant erzeugen
_variant_t vNull;
vNull.vt = VT_ERROR;
vNull.scode = DISP_E_PARAMNOTFOUND;
// Recordset öffnen
m_pRs->Open(vNull, vNull, adOpenDynamic, adLockOptimistic, adCmdUnknown);
// Zeiger auf Bindungsschnittstelle des Datensatzes holen
if (FAILED(m_pRs->QueryInterface(__uuidof(IADORecordBinding),(LPVOID *)&m_piAdoRecordBinding)))
_com_issue_error(E_NOINTERFACE);
// Datensatzklasse an Recordset binden
m_piAdoRecordBinding->BindToRecordset(&m_rsRecSet);
}
// Fehler vorhanden?
catch (_com_error &e)
{
// Fehler anzeigen
GenerateError(e.Error(), e.Description());
}
durch pCmd->CommandText = bstrCmdText;//“select *from irgendwas“ kann ich eine Tabelle auslesen und die Daten anzeigen, was mache ich aber wenn ich noch auf eine andere Tabelle zugreifen will muß ich noch ein Recordset und Command deklarieren oder wie geht’s kann mir jemand es beantworten oder mein Quellcod
anpassen
Vielen Dank