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

Вниз

Как удалить физически   Найти похожие ветки 

 
Смолин   (2002-04-17 12:36) [0]

КАк в DELPHI физически удалить строки из dbf файла VFP 5.0.
Пожалуста код напишите.
Спасиба.


 
Kuusiniemi   (2002-04-17 12:56) [1]

Г-н Смолин! А конференцию почитать слабо?? Не только первых две страницы, а чуть дальше??


 
Den_   (2002-04-17 13:19) [2]

Kuusiniemi ©
Всю конференцию просматривать долго, люди на работе всетаки а не дома ляжки тянут. Я очень корошо помню, здесь был отличный пример, я его искал поиском, но к сожелению ничего не нашел. У Вас нет ссылочки случайно на ветвь конференции с этим вопросом?


 
Kuusiniemi   (2002-04-17 13:30) [3]

> Den_

Я, в общем-то, тоже на работе. :)) Но если мне надо что-то найти, я сначала САМ буду искать, а уж потом, если не найду - тогда буду спрашивать.

Что до ответа на вопрос, то функция эта - dbiPackTable.
А что до того, чтоб поискать - то вот Вам - ТОЖЕ САМОЕ ОБСУЖДЕНИЕ. Вопрос за 9е и последний ответ за 10е апреля этого года!!

http://delphi.mastak.ru/cgi-bin/forum.pl?look=1&id=1018349645&n=1


 
Den_   (2002-04-17 14:11) [4]

> Kuusiniemi ©
Оно понятно....В этом обсуждении я не нашел нужной информации :( Все же хотелось бы так, по дубовому:

uses BDE

Table1.Close;
Table1.Exclusive := true;

dbiPackTable( Что нужно писать здесь??);

Table1.Open;
Table1.Exclusive := false;


Вот был такой пример, блин и я его записывал, но он был случайно удален. И теперь видимо не один я мучаюсь. Слышал что этот пример хорошо работает с dBase. Спасибо за ответы :)))


 
Kuusiniemi   (2002-04-17 14:23) [5]

Ну вы, блин, даете. ©

Справка по BDE.
Пример:

DbiPackTable(Table1.DBHandle, Table1.Handle, nil, szDBASE, True);


 
sniknik   (2002-04-17 14:31) [6]

для VFP 5.0 BDE не очень то и подходит. до foxpro 2.5 только. так что не удивляйся очень если не получится.


 
Смолин   (2002-04-17 15:37) [7]

> Kuusiniemi ©
Я конечно прошу прощения за настойчивость, но записи с помощью этой функции все равно не удаляются, а только помечаются. Я правильно пишу:

Table1.Delete;

Table1.Close;
Table1.Exclusive := true;

DbiPackTable(Table1.DBHandle, Table1.Handle, nil, szDBASE, True);


Table1.Open;
Table1.Exclusive := false;


И еще вопрос: что такое nil?



 
sniknik   (2002-04-17 16:20) [8]

возми полную процедуру для db и dbf
но еще раз если у тебя VFP 5.0 то это не сработает. (скорей всего)

procedure TDatMod.PackTable(Table: TTable);
var
Props: CURProps;
hDb: hDBIDb;
TableDesc: CRTblDesc;
begin
if not Table.Active then raise EDatabaseError.Create("Table must be opened to pack");
if not Table.Exclusive then raise EDatabaseError.Create("Table must be opened exclusively to pack");
Check(DbiGetCursorProps(Table.Handle, Props));
if (Props.szTableType = szPARADOX) then begin
FillChar(TableDesc, sizeof(TableDesc), 0);
Check(DbiGetObjFromObj(hDBIObj(Table.Handle), objDATABASE, hDBIObj(hDb)));
StrPCopy(TableDesc.szTblName, Table.TableName);
StrPCopy(TableDesc.szTblType, Props.szTableType);
TableDesc.bPack := True;
Table.Close;
Check(DbiDoRestructure(hDb, 1, @TableDesc, nil, nil, nil, False));
end else
if (Props.szTableType = szDBASE) then Check(DbiPackTable(Table.DBHandle, Table.Handle, nil, szDBASE, True))
else raise EDatabaseError.Create("Table must be either of Paradox or dBASE type to pack");
Table.Open;
end;


 
Anatoly Podgoretsky   (2002-04-17 16:27) [9]

Вай, ты серьезно про nil



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

Форум: "Базы";
Текущий архив: 2002.05.13;
Скачать: [xml.tar.bz2];

Наверх




Память: 0.46 MB
Время: 0.004 c
3-39666
Gamar
2002-04-17 17:06
2002.05.13
Звполнение дат без точек


1-39764
Makss
2002-04-27 21:46
2002.05.13
Ресурсы!!! Помогите кто знает!!


1-39703
Riko
2002-04-29 14:56
2002.05.13
Запись в INI файл с атрибутом только для чтения.


1-39684
hooky-mars
2002-04-23 22:05
2002.05.13
Путь к файлу


1-39739
Wolfezz
2002-04-27 17:49
2002.05.13
Access violation at address ....





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
Английский Французский Немецкий Итальянский Португальский Русский Испанский