Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Базы";
Текущий архив: 2005.12.04;
Скачать: [xml.tar.bz2];

Вниз

Удаление из *.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;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.46 MB
Время: 0.048 c
1-1131112360
Dm__
2005-11-04 16:52
2005.12.04
Подсчитать оптимальный RowHeights для TStringGrid


2-1132480548
Balex
2005-11-20 12:55
2005.12.04
странная вещь с I/O error 32


14-1131976315
hbreaker
2005-11-14 16:51
2005.12.04
Форма и цвет. Мой хомяк.


4-1128094188
NikNet
2005-09-30 19:29
2005.12.04
Как вставить в Фон ToolBar рисунок?


3-1127387829
Monk
2005-09-22 15:17
2005.12.04
каракули вместо русских букв в Database Desctop





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский