![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Удаление записей из базы данных [D5, Paradox]
Ulugbek © (2002-06-06 14:18:00)Добрый день мастераЁ
Помогите, как программно удалить всю запись из-базы данных.
Заранее блогадарень
roottim (2002-06-06 15:59:00) [1]в том то и дело что запись ассоциируется с физически расположенной строкой...
и закончим
Nikolay M. (2002-06-06 15:50:00) [2]Ну, раз уж ветка полезла в раздел "потрепаться"...
Опять же, если я правильно помню: "запись" и "кортеж", включающий в себя все атрибуты (столбцы, т.е.) - есть синонимы.
Просто кортеж - термин реляционной алгебры, а запись - его синоним из жизни, которые появился задолго до возникновения первых СУБД. Помните из школы: "сделаем запись в твоем дневнике...". Чем не вставка записи в таблицу? :)
roottim (2002-06-06 15:29:00) [3]хм ! всегда думал что реляционная БД абстрагируется от понятий "запись" и тп..
вродебы она реалицует сущность, кортеж.. и тп.. вещи
Nikolay M. (2002-06-06 15:17:00) [4]
> Anatoly Podgoretsky © (06.06.02 14:34)
> Могут быть, зависит от типа базы, но это не реляционные
самое главное - в тему :)
тем более, если мне склероз не изменяет, в других моделях БД термина "запись" нет, там есть сущности, поэтому (если я, конечно, не ошибаюсь) проявление эрудиции неуместно :)
Ulugbek (2002-06-06 15:10:00) [5]> Anatoly Podgoretsky © (06.06.02 14:57)
Соррри я поняль свою ощибку
Ulugbek (2002-06-06 15:07:00) [6]> Anatoly Podgoretsky © (06.06.02 14:57)
Я сделал как вы сказали тепер даеть ощибку
Table cannot be opened for excluive use
что делать
Lord Warlock (2002-06-06 14:58:00) [7]
> Johnmen © (06.06.02 14:48)
ето просто - Table.EmptyTable :^)
Anatoly Podgoretsky (2002-06-06 14:57:00) [8]Не уверен, ты плохо объяняешь, но кажется тебе нужно, что бы таблица dm.dmMain.tblTPreventBackup была полностью пустой перед операцией, смотри метод TTable.EmptyTable
Ulugbek (2002-06-06 14:54:00) [9]В программе я дела так:
procedure TfrmAddTPM.cmdAddClick(Sender: TObject);
var
strMecode,strCheckPoint,strWorkContents,strTolerance,strPeriod,strWorkClass,strWorkerId,strCheckTime,strResult:string;
strDatePlanned,strDateResult: string;
begin
dm.dmMain.tblTPrevent.Filtered := False;
dm.dmMain.tblTPrevent.Filter := "MECode = "+#39+txtmecodefrom.Text+#39 ;
dm.dmMain.tblTPrevent.Filtered := true;
dm.dmMain.tblTPreventBackup.first;
// сдесь я должен сделать так чтобы tblTreventBackup должень был пустым
dm.dmMain.tblTPrevent.First;
while not (dm.dmMain.tblTPrevent.Eof) do
begin
strmecode:=dm.dmMain.tblTPrevent.fieldbyname("MeCode").value;
strCheckPoint:=dm.dmMain.tblTPrevent.fieldbyname("Check Point").AsString;
strWorkContents:=dm.dmMain.tblTPrevent.fieldbyname("Work_Contents").AsString;
strTolerance:=dm.dmMain.tblTPrevent.fieldbyname("Tolerance").AsString;
strPeriod:=dm.dmMain.tblTPrevent.fieldbyname("Period").AsString;
strWorkClass:=dm.dmMain.tblTPrevent.fieldbyname("Work Class").AsString;
strWorkerId:=dm.dmMain.tblTPrevent.fieldbyname("Worker_id").AsString;
strCheckTime:=dm.dmMain.tblTPrevent.fieldbyname("Check Time").AsString;
strResult:=dm.dmMain.tblTPrevent.fieldbyname("Result").AsString;
strDatePlanned:=dm.dmMain.tblTPrevent.fieldbyname("Date_Planned").AsString;
strDateResult:=dm.dmMain.tblTPrevent.fieldbyname("Date_Result").AsString;
dm.dmMain.tblTPreventBackup.Append;
dm.dmMain.tblTPrevent.Append;
dm.dmMain.tblTPreventBackup.fieldbyname("MeCode").value := txtMecodeTo.Text;
dm.dmMain.tblTPreventBackup.fieldbyname("Check Point").value := strCheckPoint;
dm.dmMain.tblTPreventBackup.fieldbyname("Work_Contents").value := strWorkContents;
dm.dmMain.tblTPreventBackup.fieldbyname("Tolerance").value := strTolerance;
dm.dmMain.tblTPreventBackup.fieldbyname("Period").value := strPeriod;
dm.dmMain.tblTPreventBackup.fieldbyname("Work Class").value := strWorkClass;
dm.dmMain.tblTPreventBackup.fieldbyname("Worker_id").value := strWorkerId;
dm.dmMain.tblTPreventBackup.fieldbyname("Check Time").value := strCheckTime;
dm.dmMain.tblTPreventBackup.fieldbyname("Result").value := strResult;
if strDatePlanned <> "" then dm.dmMain.tblTPreventBackup.fieldbyname("Date_Planned").value := strtodate(strDatePlanned);
if strDateResult <> "" then dm.dmMain.tblTPreventBackup.fieldbyname("Date_Result").value := strtodate(strDateResult);
dm.dmMain.tblTPreventBackup.Insert;
dm.dmMain.tblTPreventBackup.Refresh;
dm.dmMain.tblTPrevent.Next;
end;
showmessage(inttostr(dm.dmMain.tblTPreventBackup.RecordCount));
dm.dmMain.tblTPrevent.Filtered := False;
cmdadd.Enabled :=False;
txtmecodeto.Text := "";
txtmecodeto.SetFocus;
end;
Как сделать! Помогите!!!
Johnmen (2002-06-06 14:48:00) [10]>Lord Warlock © (06.06.02 14:39)
>roottim (06.06.02 14:41)
Да автору просто надо сделать упаковку - оканчательное удаление помеченных к удалению записей !
Johnmen (2002-06-06 14:42:00) [11]К сожалению не помню (уже давно не специалист по Paradox) :()
roottim (2002-06-06 14:41:00) [12]всем лень сказать просто!... хотя на это есть литература и вопрос действительно не для форума...
кто там факи ведет... надо эту ерунду просто выносить
DataSet.Delete.. уд текущей стр набора данных
SQL : delete from table where первичный ключ (или др условие)
Lord Warlock (2002-06-06 14:39:00) [13]Table.Delete
Ulugbek (2002-06-06 14:34:00) [14]> Nikolay M.
Я имел ввиду таблицу
Anatoly Podgoretsky (2002-06-06 14:34:00) [15]Nikolay M. © (06.06.02 14:31)
Могут быть, зависит от типа базы, но это не реляционные
Ulugbek (2002-06-06 14:32:00) [16]>Johnmen
я такого не нашел!
Если занаете помогите ришет проблему!
Nikolay M. (2002-06-06 14:31:00) [17]
> удалить всю запись из-базы данных
добавлю еще вопрос - под "базой данных", видимо, понимается таблица? в БД записей нет по определению :)
Johnmen (2002-06-06 14:30:00) [18]>Ulugbek (06.06.02 14:25)
Ну тогда пройдись по конфе - этот вопрос (и ответ) бывает почти каждый день....:)
Johnmen (2002-06-06 14:26:00) [19]>...удалить всюзапись ...
Предполагаешь, что можно удалить частачно ? :))))
Ulugbek (2002-06-06 14:25:00) [20]В FoxPRO этой командой была zap