Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Не удаляется запись из базы [D5, MSSQL, Paradox]


Zilog ©   (2004-08-31 12:53:00) 

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

 with QPers do begin
   Close;
   SQL.Clear;
   SQL.Add('SELECT * FROM persons WHERE PGroup = :gr ORDER BY PGroup,PFio');
   ParamByName('gr').AsString := TabControl1.Tabs.Strings[TabControl1.TabIndex];
   Open;
 end;
 DBGridPersons.Update;

Дык вот, глюк в том, что из второй группы нельзя никого удалить почему то....

Удаление происходит так:
 DSPers.DataSet.Open;
 QPers.Edit;
 QPers.Delete;
 QPers.ApplyUpdates;
 QPers.CommitUpdates;

Ошибку выводит такую:
Update Filed

Используемые компоненты:
DataSource
Query
UpdateSQL


Sergey13   (2004-09-01 15:20:00) [1]

215] Zilog ©   (01.09.04 15:18)
>Короче такая же петрушка с изменением полей:
А подумать если.
update persons
set
PFio = :PFio,
PCard = :PCard,
PGroup = :PGroup,
PWBegin = :PWBegin,
PWEnd = :PWEnd,
PWDopusk = :PWDopusk,
PWCost = :PWCost,
PWAddition = :PWAddition,
PWFine = :PWFine,
PWIndividual = :PWIndividual
where
PId = :OLD_PId

Книжек бы надо почитать, ИМХО.


Zilog   (2004-09-01 15:18:00) [2]

Ай-йа-яй!!!!.....

Короче такая же петрушка с изменением полей:

update persons
set
 PFio = :PFio,
 PCard = :PCard,
 PGroup = :PGroup,
 PWBegin = :PWBegin,
 PWEnd = :PWEnd,
 PWDopusk = :PWDopusk,
 PWCost = :PWCost,
 PWAddition = :PWAddition,
 PWFine = :PWFine,
 PWIndividual = :PWIndividual
where
 PFio = :OLD_PFio and
 PCard = :OLD_PCard and
 PGroup = :OLD_PGroup and
 PWBegin = :OLD_PWBegin and
 PWEnd = :OLD_PWEnd and
 PWDopusk = :OLD_PWDopusk and
 PWCost = :OLD_PWCost and
 PWAddition = :OLD_PWAddition and
 PWFine = :OLD_PWFine and
 PWIndividual = :OLD_PWIndividual

Подскажите pls!


Zilog   (2004-09-01 15:12:00) [3]

Спасибо!!!! Заработало!!!


ЮЮ   (2004-09-01 09:39:00) [4]

Вместо

delete from persons
where
PFio = :OLD_PFio and
PCard = :OLD_PCard and
PGroup = :OLD_PGroup and
PWBegin = :OLD_PWBegin and
PWEnd = :OLD_PWEnd and
PWDopusk = :OLD_PWDopusk and
PWCost = :OLD_PWCost and
PWAddition = :OLD_PWAddition and
PWFine = :OLD_PWFine and
PWIndividual = :OLD_PWIndividual

необходимо и достаточно

delete from persons
where
PId = :OLD_PId


Sergey13   (2004-08-31 14:59:00) [5]

Ну дык приведи наконец текст DeleteSQL то.


Zilog   (2004-08-31 14:48:00) [6]

люди.. нужна помощь!!!
вот тут вроде накопали люди что то в моем глюке:
http://www.sql.ru/forum/actualthread.aspx?bid=20&tid=118671&pg=-1


Zilog   (2004-08-31 14:09:00) [7]

id,fio,card,group...


Наталия   (2004-08-31 14:02:00) [8]

Структуру таблицы приведи.


Zilog   (2004-08-31 13:57:00) [9]

Есть...   Я же говорю - из первой группы все удаляется и добавляется на ура.


Наталия   (2004-08-31 13:55:00) [10]

Скорее всего в твоей таблице persons нет первичного ключа. И есть дублирующиеся записи. BDE не может разобрать, какую-же из записей нужно удалить...


Zilog   (2004-08-31 13:44:00) [11]

База paradox


Zilog   (2004-08-31 13:43:00) [12]

Edit убрал - все равно, выскакивает исключение 'Update Filed'

[stone] to [Zilog] ORDER BY PGroup,PFio делает твой запрос не редактируемым

Хм.. странно, эта же сортировка на вывод первой группы - и все работает... может что то еще?


KSergey   (2004-08-31 13:13:00) [13]

Update Filed - это такой текст ошибки? Что-то с трудом верится...


Астроном   (2004-08-31 13:11:00) [14]

DSPers.Dataset.Datasource.Delete


Max   (2004-08-31 13:10:00) [15]

[stone] to [Zilog] ORDER BY PGroup,PFio делает твой запрос не редактируемым


Reindeer Moss Eater   (2004-08-31 12:55:00) [16]

Зачем Edit?

Зачем
QPers.ApplyUpdates;
QPers.CommitUpdates;
?


Наверх

Титульная страница Поиск, карта сайта Написать письмо