Вызов Crescordset::update() при редактировании поля

Тема в разделе "MS Visual C++", создана пользователем Alex_Bamuner, 4 авг 2006.

Статус темы:
Закрыта.
  1. Alex_Bamuner

    Alex_Bamuner Гость

    Привет всем. Такая проблема: подключился к базе, получил рекордсет, хочу отредактировать определенное поле. Вот кусок кода:
    UpdateData(TRUE);
    rs.m_nFields=8;
    CString SQL = "SELECT Наименование FROM БАЗА WHERE код = '1234'";
    if(rs.IsOpen()) rs.Close();

    try
    {
    rs.Open(CRecordset::dynaset,SQL,CRecordset::none);

    }
    catch(CDBException cdb)
    {
    AfxMessageBox(cdb.m_strStateNativeOrigin);
    }

    CDBVariant var;

    rs.GetFieldValue("Наименование",var);
    MessageBox(*var.m_pstring); // смотрю что там хранится
    rs.Move(0);
    try
    {
    rs.Edit();
    }
    catch(CDBException cdb)
    {
    AfxMessageBox(cdb.m_strStateNativeOrigin );
    }
    catch(CMemoryException cm)
    {
    MessageBox("cm");
    }
    rs.m_name = CString("Пельмешки"); // хочу вписать туда пельмешки :)
    try
    {
    rs.Update(); // А вот тут все падает с сообщением: Недопустимый индекс дескриптора
    }
    catch(CDBException cdb)
    {
    MessageBox(cdb.m_strStateNativeOrigin);
    }

    что я не так делаю??? Помогите!!!
     
  2. sdriver

    sdriver Гость

    To refresh records that may have been changed or added since the Open call, call the object's Requery member function.
     
Загрузка...
Похожие Темы - Вызов Crescordset update()
  1. k85
    Ответов:
    0
    Просмотров:
    361
  2. alexas1
    Ответов:
    0
    Просмотров:
    507
  3. Sanchezz86
    Ответов:
    1
    Просмотров:
    589
  4. vln1981
    Ответов:
    0
    Просмотров:
    711
  5. JohnLemon
    Ответов:
    3
    Просмотров:
    877
Статус темы:
Закрыта.

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