Не могу разобраться

  • Автор темы Barmaglot
  • Дата начала
B

Barmaglot

#1
Вот собственно говоря есть такой код.
Код:
struct MainTableData
{
char name[80];
double value;
};

class MainTableSelect : public MainTableData
{
BEGIN_COLUMN_MAP(MainTableSelect)
COLUMN_ENTRY(1, name)
COLUMN_ENTRY(2, value)
END_COLUMN_MAP()

BEGIN_PARAM_MAP(MainTableSelect)
COLUMN_ENTRY(1, name)
COLUMN_ENTRY(2, value)
END_PARAM_MAP()
};

int main(int argc, char* argv[])
{
USES_CONVERSION;

CDataSource m_Connect;
CSession	m_Session;

CString connectStr;
HRESULT hr;

hr=CoInitialize(0);
connectStr=
"Provider=Microsoft.Jet.OLEDB.4.0;"
"Data Source=db1.mdb;";

hr=m_Connect.OpenFromInitializationString(T2OLE(connectStr));
hr=m_Session.Open(m_Connect);
CCommand<CAccessor<MainTableSelect>,CRowset> rs;

hr=rs.Create(m_Session,"INSERT INTO [main] VALUES('123',123)");
hr=rs.Create(m_Session,"SELECT name,value FROM [main]");

hr=rs.Open();
hr=rs.MoveFirst();

while(hr==S_OK)
{
printf("%s %f\n",rs.name,rs.value);

hr=rs.MoveNext();
}

return 0;
}
запрос rs.Create(m_Session,"SELECT name,value FROM [main]"); выполняется без проблем и вывдит таблицу как и должен.
Запрос же rs.Create(m_Session,"INSERT INTO [main] VALUES('123',123)"); никак себя не проявляет. В чем причина?
Если кто нибудт подкинет доков на русском по теме буду оччень признателен)