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

Тема в разделе "MS Visual C++", создана пользователем Barmaglot, 7 фев 2008.

  1. Barmaglot

    Barmaglot Гость

    Вот собственно говоря есть такой код.
    Код (Text):
    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)"); никак себя не проявляет. В чем причина?
    Если кто нибудт подкинет доков на русском по теме буду оччень признателен)
     
Загрузка...

Поделиться этой страницей