У меня есть главная таблица TestDB и вспомогательная Lang. (в первой список студентов и id изучаемого языка, а во второй сосбственно сами языки, пример максимально упрощен). Короче при добавлении данных в TestDB мне необходимо сделать, чтобы программы совершала слеждующие действия: если введенный язык уже имеется в Lang таблице, то просто в TestDB указать его id, а если нет, то добавить с соответствующим именем запись в Lang, и опять соответствующий новой записи id указать в TestDB. Можно ли так сделать простым способом, или придется использовать механизм доступа к различным записям через различные классы унаследованные от CRecordset. Кстати почему данный код выдает Recordset is read-only при первом eception'е
CTestDB x;
x.Open();
x.MoveFirst();
try {
x.Edit();
}
catch ( CDBException *e )
{
MessageBox( NULL, e->m_strError, NULL, MB_OK );
e->Delete();
}
try {
x.Update();
}
catch ( CDBException *e )
{
MessageBox( NULL, e->m_strError, NULL, MB_OK );
e->Delete();
}
x.Close();
Видимо придеться руками все делать.
а по поводу exception проверь как ты рекордсет открываешь, возможно он у тебя просто Snapshot.