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

Вниз

DBGRID и удаленные записи   Найти похожие ветки 

 
LBP   (2006-10-19 18:42) [0]

Мастера, подскажите как научить DBGrid отображать помеченные на удаление записи в таблице Paradox ?
Заранее спасибо!


 
Anatoly Podgoretsky ©   (2006-10-19 18:46) [1]

Что упало, то пропало


 
Loginov Dmitry ©   (2006-10-19 20:00) [2]

Добавь в таблицу булево поле. Перед удалением с помощью DBGridа отмечай это поле (установкой в True, например). Удаляй помеченные записи при возникновении определенного события (например при нажатии кнопки).


 
Leonid Troyanovsky ©   (2006-10-19 20:37) [3]


> Loginov Dmitry ©   (19.10.06 20:00) [2]

> Добавь в таблицу булево поле. Перед удалением с помощью
> DBGridа отмечай это поле (установкой в True, например).


- Куда вы меня везете?
- В морг.
- А я еще не умер!
- А мы еще не доехали.

--
Regards, LVT.


 
LBP   (2006-10-20 08:02) [4]

Мне необходимо, чтобы программа показывала и ранее удаленные записи в таблице. Допустим удаленные не из моей программы. На сколько я знаю в программе DBF Viewer такая штучка есть. Как реализовать это в Delphi, подскажите плииз.


 
Anatoly Podgoretsky ©   (2006-10-20 08:52) [5]

Скрипач ты красное от зеленого отличаешь?
DB от DBF


 
Elen ©   (2006-10-20 09:04) [6]


> Anatoly Podgoretsky

Вопрос на засыпку Знаю что FoxPro в DBF не сразу физически удаляет записи, а лишь помечает их как удаленные и там действительно есть возможность посмотреть эти записи. Вроде Paradox тоже помечает записи - значит должен быть какой то способ (команда провайдеру) показать помеченные. Так ли это?


 
Loginov Dmitry ©   (2006-10-20 09:14) [7]

Ну тады [1]


 
Anatoly Podgoretsky ©   (2006-10-20 09:14) [8]

Да xBase обладает такой уникальной способность, там не только можно посмотреть, но и восстановить уделеные записи, среди остальных рапостраненых СУБД я других таких не знаю.

А пометку делают все СУБД, некоторые еще и повторно используют пространство.


 
Elen ©   (2006-10-20 09:18) [9]


> А пометку делают все СУБД

Значит я могу обратиться к провайдеру Paradox через ADOComand.ComandText. Остается только узнать команду переключающую показ удаленных. Так?


 
MsGuns ©   (2006-10-20 10:46) [10]

>Elen ©   (20.10.06 09:18) [9]
>Значит я могу обратиться к провайдеру Paradox через ADOComand.ComandText. Остается только узнать команду переключающую показ удаленных. Так?

Нет. Парадокс не возвращает удаленные записи по запросам. Можно считать, что их нет вообще.
О чем и сказано в постах Анатолия.


 
ЮЮ ©   (2006-10-20 10:46) [11]

Нет, не так.  
Т.к. для парадокса верно "еще и повторно используют пространство". Более того некая попытка для этого делается уже при удалении записи. Т.е. даже если записи только удалять, ничего не вставляя - данные будут уже потяряны, т.к. после удаления записи оставшиеся записи блока смещаюися внутри оного. По крайней мере я это обнаружил, когда пытался восстановить случайно удаленные данные.


 
Anatoly Podgoretsky ©   (2006-10-20 12:15) [12]


> Elen ©   (20.10.06 09:04) [6]
> Вопрос на засыпку Знаю что FoxPro в DBF не сразу физически
> удаляет записи, а лишь помечает их как удаленные и там действительно
> есть возможность посмотреть эти записи. Вроде Paradox тоже
> помечает записи - значит должен быть какой то способ (команда
> провайдеру) показать помеченные. Так ли это?

Помечают практически все СУБД, а вот показывать и восстанавливать могут только xBase системы.
Парадокс, вообще гадская вещь, если найти хакерскую программу, которая как бы "восстанавливает" удаленные записи, то свихнешься от результата, а оно тебе надо?


 
Anatoly Podgoretsky ©   (2006-10-20 12:17) [13]

У парадокса сложная кластерная система хранения записей, поэтому он так часто портится.

Если требуется показ/восстановление, то это должно решать дизайном системы, надо просто заложить это в архитектуру проекта. А вот например у меня практически запрещено удаление записей в базе, только после сложной процедуры, что в базу попало, то должно лежать вечно.


 
Elen ©   (2006-10-20 13:00) [14]


> Anatoly Podgoretsky

Спасибо за ликбез. Я работаю всегда с FoxPro, поэтому такой проблемы как удаление записей у меня не было в принципе, поэтому и спрашиваю. Про Paradox мало знаю и не пользуюсь им.


 
Германн ©   (2006-10-20 14:56) [15]


> Про Paradox мало знаю и не пользуюсь им.

Везёт же некоторым! :-)


 
Anatoly Podgoretsky ©   (2006-10-20 16:14) [16]

Мне повезло еще больше, я знал что Парадокс бяка, еще до программирования. Изначально это был язык программирования макросов
Mеню/два раза вправо. четыре раза вниз/F2/что то /F2/Esc


 
From kz   (2006-10-20 16:55) [17]

Для DBF. Делай так:

unit Unit1;

interface

uses
 Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms,
 Dialogs, StdCtrls, ExtCtrls, DBCtrls, Grids, DBGrids, DB, DBTables;

type
 TForm1 = class(TForm)
   Table1: TTable;
   DataSource1: TDataSource;
   DBGrid1: TDBGrid;
   DBNavigator1: TDBNavigator;
   CheckBox1: TCheckBox;
   procedure CheckBox1Click(Sender: TObject);
 public
   procedure ShowDeleted(Table: TTable; ShowDeleted: Boolean);
 end;

var
 Form1: TForm1;

implementation

uses DBITYPES, DBIERRS, DBIPROCS;

{$R *.DFM}

procedure TForm1.ShowDeleted(Table: TTable; ShowDeleted: Boolean);
var
 rslt: DBIResult;
 szErrMsg: DBIMSG;
begin
 Table.DisableControls;
 try
   Check(DbiSetProp(hDBIObj(Table.Handle), curSOFTDELETEON,
     LongInt(ShowDeleted)));
 finally
   Table.EnableControls;
 end;
 Table.Refresh;
end;

procedure TForm1.CheckBox1Click(Sender: TObject);
begin
 ShowDeleted(Table1, CheckBox1.Checked);
end;

end.



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

Форум: "Начинающим";
Текущий архив: 2006.11.05;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.49 MB
Время: 0.047 c
8-1144071585
FBI Agent
2006-04-03 17:39
2006.11.05
Сигнал микрофона


2-1161541388
Officeman
2006-10-22 22:23
2006.11.05
ST := StringReplace(TOVAR, & , & , [frReplaceAll]); ???


2-1161085507
VALUA
2006-10-17 15:45
2006.11.05
БИБЛИОТЕКА QTINF.DLL


15-1161205288
juice
2006-10-19 01:01
2006.11.05
Программирование контроллеров (USB)


15-1160621748
Slider007
2006-10-12 06:55
2006.11.05
С днем рождения ! 12 октября





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