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

Ошибки при добавлении записей в БД

03.05.2016, 17:16. Показов 1042. Ответов 3
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Доброго времени суток, в моем проекте возникла ошибка добавления записи в бд. БД на Access, я связываю с делфи при помощи ADO conecthion, связывается и выводит без проблем. В проекте три таблицы Родители - Дети - Группы (схема связи рис 1), добавление записи произвожу сразу в две таблицы Дети и Родители(листинг кода добавления ниже). При таком варианте связи выходит ошибка (рис 2), учитывая, что при добавлении, в таблице группа имеются несколько записей и добавляя нового ребенка я ссылаюсь на код уже добавленной группы. Когда я изменяю схему связи (рис 3), и пробую добавить запись то возникает следующая ошибка (рис 4). Прошу помощи знатоков. Заранее спасибо. P.S. Также были попытки добавить запись при помощи DBNavigator, но результат тот же.
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
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
 TForm2.Button1Click(Sender: TObject);
begin
//try
if (Trim(Edit1.Text)='') or (Trim(Edit2.Text)='') or (Trim(Edit3.Text)='')
or (Trim(Edit4.Text)='') or (Trim(Edit5.Text)='') or (Trim(Edit6.Text)='')
or (Trim(Edit7.Text)='') or (Trim(Edit8.Text)='') or (Trim(Edit9.Text)='')
or (Trim(Edit11.Text)='') or (Trim(Edit12.Text)='') or (Trim(Edit13.Text)='')
or (Trim(Edit14.Text)='') or (Trim(Edit15.Text)='')
then
ShowMessage('Заполните пустые поля')
else begin
form1.ADOTable1.Insert;
form1.ADOTable1.FieldByName('Фамилия').AsString:=Edit1.Text;
form1.ADOTable1.FieldByName('Имя').AsString:=Edit2.Text;
form1.ADOTable1.FieldByName('Отчество').AsString:=Edit3.Text;
form1.ADOTable1.FieldByName('Дата рождения').AsDatetime:=StrToDate(Edit4.Text);
form1.ADOTable1.FieldByName('Школа').AsInteger:=StrToInt(Edit5.Text);
form1.ADOTable1.FieldByName('Класс').AsInteger:=StrToInt(Edit6.Text);
form1.ADOTable1.FieldByName('Документ удостоверяющий личность').AsString:=Edit7.Text;
form1.ADOTable1.FieldByName('Код родителя').AsInteger:=StrToInt(Edit6.Text);
form1.ADOTable1.FieldByName('Код группы').AsInteger:=StrToInt(Edit7.Text);
form3.ADOTable1.Insert;
form3.ADOTable1.FieldByName('Код родителя').AsInteger:=StrToInt(Edit6.Text);
form3.ADOTable1.FieldByName('Фамилия').AsString:=Edit11.Text;
form3.ADOTable1.FieldByName('Имя').AsString:=Edit12.Text;
form3.ADOTable1.FieldByName('Отчество').AsString:=Edit13.Text;
form3.ADOTable1.FieldByName('Адрес').AsString:=Edit14.Text;
form3.ADOTable1.FieldByName('Телефон').AsString:=Edit15.Text;
Edit1.clear;
Edit2.Clear;
Edit3.Clear;
Edit4.Clear;
Edit5.Clear;
Edit6.Clear;
Edit7.Clear;
Edit8.Clear;
Edit9.Clear;
Edit11.clear;
Edit12.Clear;
Edit13.Clear;
Edit14.Clear;
Edit15.Clear;
Form1.ADOtable1.Active:=true;
form1.ADOtable1.Post;
Form3.ADOtable1.Active:=true;
form3.ADOtable1.Post;
end;
end;
Миниатюры
Ошибки при добавлении записей в БД   Ошибки при добавлении записей в БД   Ошибки при добавлении записей в БД  

Ошибки при добавлении записей в БД  
0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
03.05.2016, 17:16
Ответы с готовыми решениями:

Ошибка при добавлении записей в бд
Здравствуйте! Такая ситуация: есть private List<Education> List = new List<Education>(); там хранятся данные. При заполнении...

Ошибка при добавлении записей
Пытаюсь добавить записи в таблицу accsess но вылетает ошибка. Что не так? procedure TForm3.BitBtn1Click(Sender: TObject); begin with...

Дублирование записей при добавлении
Здравствуйте! Столкнулся с проблемой Имеется форма "Добавление клиента" и запрос на добавление, есть кнопка к которой привязано...

3
5986 / 4561 / 1096
Регистрация: 29.08.2013
Сообщений: 28,202
Записей в блоге: 3
03.05.2016, 17:21
и в чем вопрос?
0
0 / 0 / 0
Регистрация: 05.11.2015
Сообщений: 2
03.05.2016, 17:24  [ТС]
Как избавиться от данных ошибок и нормально добавить записи в БД.
0
5986 / 4561 / 1096
Регистрация: 29.08.2013
Сообщений: 28,202
Записей в блоге: 3
03.05.2016, 17:27
Цитата Сообщение от Ирина Ирина Посмотреть сообщение
Как избавиться от данных ошибок
нужно правильно внести данные в таблицу - в вашем случае что бы записи были связаны

Цитата Сообщение от Ирина Ирина Посмотреть сообщение
нормально добавить записи в БД.
вам обязательно ограничение на уровне БД?
ведь можно не проставлять связи в аксессе, а просто учесть их при разработке запросов
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
03.05.2016, 17:27
Помогаю со студенческими работами здесь

Исключение при добавлении записей в MS Access
Пишу простую программу на добавление записей в БД Acces. Все делаю исходя из этого видео oFgl71x1PX4 Запускаю программу, заполняю...

Ошибка при добавлении записей в БД Access
private void add_Click(object sender, EventArgs e) { string bdpersonname = { "Имя", "Фамилия", "Отчество",...

Warning При добавлении записей запросом
Добрый вечер. Подскажите, пожалуйста. Я создала форму и сделала запрос на добавление записи в таблицу используя поля на форме. Все...

Обновление данных в DataGridView при добавлении записей в БД
Я установил DataGridView1 на форму, через его свойство DataSourse подключил к БД и при запуске программы он показывает мне мою БД, но при...

Обновление данных при добавлении новых записей
Здравствуйте. Если открыть базу к примеру на двух компьютерах то: Еслм вносить изменение данных в таблице на первом компе, на втором компе...


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

Или воспользуйтесь поиском по форуму:
4
Ответ Создать тему
Новые блоги и статьи
Контроль заполнения и очистка дат в зависимости от значения перечислений
Maks 12.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "ПланированиеПерсонала", разработанного в конфигурации КА2. Задача: реализовать контроль корректности заполнения дат назначения. . .
Архитектура слоя интернета для сервера-слоя.
Hrethgir 11.04.2026
В продолжение https:/ / www. cyberforum. ru/ blogs/ 223907/ 10860. html Знаешь что я подумал? Раз мы все источники пишем в голове ветки, то ничего не мешает добавить в голову такой источник, который сам. . .
Подстановка значения реквизита справочника в табличную часть документа
Maks 10.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "ПланированиеПерсонала", разработанного в конфигурации КА2. Задача: при выборе сотрудника (справочник Сотрудники) в ТЧ документа. . .
Очистка реквизитов документа при копировании
Maks 09.04.2026
Алгоритм из решения ниже применим как для типовых, так и для нетиповых документов на самых различных конфигурациях. Задача: при копировании документа очищать определенные реквизиты и табличную. . .
модель ЗдравоСохранения 8. Подготовка к разному выполнению заданий
anaschu 08.04.2026
https:/ / github. com/ shumilovas/ med2. git main ветка * содержимое блока дэлэй из старой модели теперь внутри зайца новой модели 8ATzM_2aurI
Блокировка документа от изменений, если он открыт у другого пользователя
Maks 08.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа, разработанного в конфигурации КА2. Задача: запретить редактирование документа, если он открыт у другого пользователя. / / . . .
Система безопасности+живучести для сервера-слоя интернета (сети). Двойная привязка.
Hrethgir 08.04.2026
Далее были размышления о системе безопасности. Сообщения с наклонным текстом - мои. А как нам будет можно проверить, что ссылка наша, а не подделана хулиганами, которая выбросит на другую ветку и. . .
Модель ЗдрввоСохранения 7: больше работников, больше ресурсов.
anaschu 08.04.2026
работников и заданий может быть сколько угодно, но настроено всё так, что используется пока что только 20% kYBz3eJf3jQ
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru