Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2005.12.04;
Скачать: CL | DM;

Вниз

Удаление из *.dbf   Найти похожие ветки 

 
DancerMan ©   (2005-10-19 16:48) [0]

Для подключения к таблице использую ADOConnection.
DataSet - ADOQuery. Отображаю в DBGridEh. Имя базы basket.dbf
Проблема в следующем:
1. После выполнения этого кода
 MainData.ADOInsDelBasket.SQL.Clear;
 MainData.ADOInsDelBasket.SQL.Add("delete from basket");
 MainData.ADOInsDelBasket.ExecSQL;
 MainData.ADOQueryBasket.Open;
записи помечаются к удалению, но грид их все равно отображает.
2. А после выполнения этого
 rec := MainData.ADOQueryBasket.RecNo;
 try
   MainData.ADOQueryBasket.Delete;
 except
   MainData.ADOQueryBasket.Cancel;
 end;
 MainData.ADOQueryBasket.Open;
 MainData.ADOQueryBasket.MoveBy(rec-1);
текущая запись тоже помечается к удалению, из грида исчезает, но после повторного запуска программы - снова отображается в гриде.
Кто может подсказать в чем проблема?


 
Os ©   (2005-10-19 16:59) [1]

1. MainData.ADOQueryBasket перед открытием закрывался?
2.
> try
>    MainData.ADOQueryBasket.Delete;
 MainData.ADOQueryBasket.Post; // может так?
>  except


 
DancerMan ©   (2005-10-19 17:10) [2]


> MainData.ADOQueryBasket перед открытием закрывался?

Поставил закрытие.
Получается, что удаление помечает запись, как удаленную, но грид ее отображает.

А на MainData.ADOQueryBasket.Post; выдает, что DaraSet не в режиме вставки или редактирования.


 
sniknik ©   (2005-10-19 18:26) [3]

возможно тип подключения через ODBC и в DSN (либо непосредственно в строке подключения) параметр deleted включен.


 
DancerMan ©   (2005-10-19 18:50) [4]


> sniknik ©   (19.10.05 18:26) [3]
> возможно тип подключения через ODBC и в DSN (либо непосредственно
> в строке подключения) параметр deleted включен.

Точно! В источниках данных "Показ удаленных строк" стоял. Спасибо!

А как физически удалить запись?


 
sniknik ©   (2005-10-19 21:19) [5]

одну? нет такого, для одной это слишком накладно. если все удаленные очистить то смотря для какого провайдера
для VFP (вижуал фокс) это
PACK TABLE TableName
у других нет такой команды, делается обычно копированием данных в новую пустую таблицу, удалением оригинала и переименованием новой в старое название.


 
Anatoly Podgoretsky ©   (2005-10-19 21:47) [6]

ConnectingString?


 
DancerMan ©   (2005-10-20 10:21) [7]


> ConnectingString?


Provider=MSDASQL.1;Persist Security Info=False;Data Source=Файлы dBASE;Mode=ReadWrite;Initial Catalog=D:\Katalog\tools\data


 
Anatoly Podgoretsky ©   (2005-10-20 12:23) [8]

Это означает цепочку ODBC -> JET -> BDE
и на каждом пункте этой цепочки требуется правильная настройка и плюс работа будет зависить и различаться от того установлен ли БДЕ на машине
Ты по крайней мере устрани хотя бы первое звено, а лучше оба первых.
Кроме того разберись с форматом таблицы, возможно у тебя это Фокспро какой ни будь версии, тогда лучше перейти на OLEDB драйвер для ФоксПро.



Страницы: 1 вся ветка

Текущий архив: 2005.12.04;
Скачать: CL | DM;

Наверх




Память: 0.48 MB
Время: 0.032 c
2-1132263226
kibon
2005-11-18 00:33
2005.12.04
поиск


14-1131835946
Германн
2005-11-13 01:52
2005.12.04
Подскажите, плииз, как поместить в ИНете файл


14-1132004309
ronyn
2005-11-15 00:38
2005.12.04
Нужен драйвер модема для Linux


6-1124422105
pOLyMOrpH
2005-08-19 07:28
2005.12.04
Работа с сокетом


14-1131887831
Неважно
2005-11-13 16:17
2005.12.04
Программа для измерения громкости звука