опубликован 21-04-2001 18:00 MSK
Тема: ODBC: CRecordset::Delete() Хочу удалить запись в базе данных:
- есть база данных в виде dbf-файла;
- есть класс:
class CMyRecordset:public CRecordset
{
...
CString m_name;
CString m_sureName;
};
- есть обьект этого класса m_RS;
//где то в программе:
m_RD.MoveFirst();
m_RS.Move(index); //где index - индекс записи, которую хочется удалить;
m_RS.Delete();
m_RS.MoveNext();
- после - смотрю dbf-файл cтандартной программой для промотра dbf :
Запись вроде как удалилась:
ID | SURNEME | NAME |
1 pupkin vova
2 vas'kin dima <--- была удалена запись с ID=3 (Dead Fred)
4 ... ...
..НО:
Запускаю свою прогу...запись вновь ожила (я ее нигде не сохранял).
- После .. открываю dbf-файл (клав. F4 в FAR'e);
запись Dead Fred там почему-то сохранилась...(?)
(
читаю записи я через while(m_RS.isEOF()){...} //так вроде...
)
Вопрос(ы):
* Как сделать так, что б 'Dead Fread' был действительно dead?
* Почему он сохранился в файле?
* Почему моя прога его видит а DBF-прога нет?