EmptyHead
Сообщений: 1
Оценки: 0
Присоединился: 2008-02-07 22:24:42.720000
|
Есть такой вот код на vc++
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)"); никак себя не проявляет. В чем причина? Если кто нибудт подкинет доков на русском по теме буду оччень признателен)
|