D
ich hab das mal so gemacht:
void CDepot::ImplementColumns()
{
//Öffnet aktuelle Datenbank mit anderen Spalten
extern View* View_Handle;
if (View_Handle != NULL && View_Handle->Table_Name.GetSize() > 0)
{
if (!View_Handle->Table_Name[View_Handle->step_run + 1].IsEmpty())
{
int lauf = 0;
//übergibt Zeiger auf CColumns-Objekt und bindet Datenbank an
m_act_db.Open(NULL, FALSE, FALSE, (_T("ODBC;DSN=Database")), TRUE);
CColumns* m_DB_Col_end = new CColumns(&m_act_db);
m_DB_Col_end->m_strTableNameParam = View_Handle->Table_Name[View_Handle->step_run + 1];
m_DB_Col_end->Open(CRecordset::snapshot);
m_DB_Col_end->MoveFirst();
//überträgt Spaltennamen in CArray-Objekt
while (!m_DB_Col_end->IsEOF())
{
m_actCol_end.Add(m_DB_Col_end->m_strColumnName);
m_actCol_end[lauf].Insert(0, '['); //für Verarbeitung der SQL-Befehle
m_actCol_end[lauf].Insert(m_actCol_end[lauf].GetLength(), ']');
m_typCol_end.Add(m_DB_Col_end->m_strTypeName);
m_DB_Col_end->MoveNext();
lauf++;
}
BuildValueLists();
//SaveArrayToFile();
delete m_DB_Col_end;
}
}
}
void CDepot::BuildValueLists()
{
size = m_actCol_end.GetSize();
int lauf2 = 0;
int lauf = 0;
while (lauf2 < size)
{
m_dblCol_end.Add(lauf);
lauf++;
lauf2++;
}
}
so hats bei mir geklappt, über die diversen arrays kannst du dann die spalten und werte ansprechen.
table_name sind die entsprechenden tabellennamen.