Форум программистов, компьютерный форум, киберфорум
Delphi: Базы данных
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.64/11: Рейтинг темы: голосов - 11, средняя оценка - 4.64
0 / 0 / 0
Регистрация: 06.08.2014
Сообщений: 6

Выдаёт ошибку при удалении записей из связанных таблиц. Что неправильно?

20.06.2013, 11:27. Показов 2029. Ответов 2
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Скрин с ошибкой во вложении.А вот код:
1 процедура из формы, вызывающей форму, где выбираются параметры удаляемой записи:
Код:
Delphi
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
procedure TForm13.RadioButton5Click(Sender: TObject);
var i,n:integer;
begin
 if DataModule1.DataSource3.State=dsBrowse then
  DataModule1.ADOTable3.Edit;
 Form23.ShowModal;
begin
   DataModule1.ADOTable1.DisableControls;
    if DataModule1.DataSource3.State=dsBrowse then
    DataModule1.ADOTable3.Edit;
        if DataModule1.DataSource1.State=dsBrowse then
    DataModule1.ADOTable1.Edit;
      DataModule1.ADOTable1.Last;
  DataModule1.ADOTable1.First;
  n:=DataModule1.ADOTable1.RecordCount;
    {Locate(DataModule1.ADOTable3.Fields[0].AsString,Form1.DBComboBox1.Text,[]);}
  For i:=1 to n do begin
  if (DataModule1.ADOTable1.Fields[1].AsString=Form23.DBComboBox1.Text)
    and (not Eof)then DataModule1.ADOTable1.Delete;
    end;
  DataModule1.ADOTable1.EnableControls;
end;
DataModule1.ADOTable3.Delete;
DataModule1.ADOTable3.Post;
end;
2 процедуры выбора этих параметров
Delphi
1
2
3
4
5
6
7
8
9
10
11
12
13
procedure TForm14.Button1Click(Sender: TObject);
begin
DataModule1.ADOTable1.Post;
if DataModule1.DataSource1.State=dsBrowse then
DataModule1.ADOTable1.Edit;
end;
 
procedure TForm14.Button2Click(Sender: TObject);
begin
DataModule1.ADOTable1.Cancel;
if DataModule1.DataSource1.State=dsBrowse then
DataModule1.ADOTable1.Edit;
end;
Вопрос тривиален, ЧТО ДЕЛАТЬ?
Миниатюры
Выдаёт ошибку при удалении записей из связанных таблиц. Что неправильно?  
0
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
20.06.2013, 11:27
Ответы с готовыми решениями:

Что я мог сделать неправильно при удалении всех записей из таблицы?
пишу код procedure TForm3.Button2Click(Sender: TObject); begin query1.sql.Clear; query1.SQL.Text:=('truncate table JurLocal'); ...

Удаление записей из связанных таблиц
суть темы такова: у меня есть 2 таблицы: Клиенты и Заказы. Таблицы размещены на разных формах. В таблице Клиенты есть поля: id_kl, FIO. В...

При решении программа выдаёт значение функции, равное 0 или выдаёт ошибку. Что не так?
#include <iostream> #include <iomanip> #include <cmath> using namespace std; long Fact(short m)// функция вычисления факториала ...

2
18 / 18 / 13
Регистрация: 10.11.2010
Сообщений: 143
20.06.2013, 23:27
ну если эта таблица у тебя содержит связанные записи, то просто методом delete не отделаться.
вот так можно например, добавив query компонент заранее.
Delphi
1
2
3
4
s:=ADODataSet.FieldValues['id']; //источник записей, ключевое его поле
ADOQuery.SQL.Clear;
ADOQuery.SQL.Add('delete * from tablica where id_='+s);
ADOQuery.ExecSQL;
если я конечно правильно понял
0
1076 / 989 / 340
Регистрация: 07.08.2012
Сообщений: 2,790
21.06.2013, 08:28
Ошибка говорит о том, что нельзя добавлять запись с уже имеющимся в таблице значением ключевого поля.
При чем здесь удаление вообще? (в приведенном коде какая-то адская смесь методов, которая ни к чему хорошему привести не может).

---
Для удаления записей из таблицы нет никакой необходимости переводить датасет в режим редактирования.
Что за прихоть?

---
После Post состояние датасета автоматом становится dsBrowse. Чего его проверять?

---
Удаление, действительно, лучше и проще делать как сказано у elluminate
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
21.06.2013, 08:28
Помогаю со студенческими работами здесь

Вывод записей из связанных таблиц
Здравствуйте все обитатели форума) У меня есть БД, в ней таблица книги и таблица авторы, связь многие ко многим. Есть прога, которая...

Удаление записей из связанных таблиц через Access
Проблема такая. Есть My SQL server на машине А и БД написанная на Access 2010 локальная на машине Б, нужно сделать ее сетевой. Через...

При инсталляции программы выдаёт ошибку, что это значит?
Выскакивает ошибка при инсталляции готовой программы(калькулятор). Как решить эту проблему? Как создать инсталлятор так, чтобы...

DBE Проверка на наличие связанных данных при удалении записи
Добрый день! Создала с помощью DBE (Paradox 7) несколько таблиц, среди них есть связанные. Сначала вопрос: как можно программно...

Купил оперативку на 4гб вставил в пк а при запуске выдаёт ошибку ACPI_BIOS_ERROR что делать
Изначально стояло 2гб прикупил ещё 4гб и вот что происходит


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
3
Ответ Создать тему
Новые блоги и статьи
Оттенки серого
Argus19 18.03.2026
Оттенки серого Нашёл в интернете 3 прекрасных модуля: Модуль класса открытия диалога открытия/ сохранения файла на Win32 API; Модуль класса быстрого перекодирования цветного изображения в оттенки. . .
SDL3 для Desktop (MinGW): Рисуем цветные прямоугольники с помощью рисовальщика SDL3 на Си и C++
8Observer8 17.03.2026
Содержание блога Финальные проекты на Си и на C++: finish-rectangles-sdl3-c. zip finish-rectangles-sdl3-cpp. zip
Символические и жёсткие ссылки в Linux.
algri14 15.03.2026
Существует два типа ссылок — символические и жёсткие. Ссылка в Linux — это запись в каталоге, которая может указывать либо на inode «файла-ИСТОЧНИКА», тогда это будет «жёсткая ссылка» (hard link),. . .
[Owen Logic] Поддержание уровня воды в резервуаре количеством включённых насосов: моделирование и выбор регулятора
ФедосеевПавел 14.03.2026
Поддержание уровня воды в резервуаре количеством включённых насосов: моделирование и выбор регулятора ВВЕДЕНИЕ Выполняя задание на управление насосной группой заполнения резервуара,. . .
делаю науч статью по влиянию грибов на сукцессию
anaschu 13.03.2026
прикрепляю статью
SDL3 для Desktop (MinGW): Создаём пустое окно с нуля для 2D-графики на SDL3, Си и C++
8Observer8 10.03.2026
Содержание блога Финальные проекты на Си и на C++: hello-sdl3-c. zip hello-sdl3-cpp. zip Результат:
Установка CMake и MinGW 13.1 для сборки С и C++ приложений из консоли и из Qt Creator в EXE
8Observer8 10.03.2026
Содержание блога MinGW - это коллекция инструментов для сборки приложений в EXE. CMake - это система сборки приложений. Здесь описаны базовые шаги для старта программирования с помощью CMake и. . .
Как дизайн сайта влияет на конверсию: 7 решений, которые реально повышают заявки
Neotwalker 08.03.2026
Многие до сих пор воспринимают дизайн сайта как “красивую оболочку”. На практике всё иначе: дизайн напрямую влияет на то, оставит человек заявку или уйдёт через несколько секунд. Даже если у вас. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru