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

Заполнение бд через adoquery

25.04.2015, 20:57. Показов 1603. Ответов 4
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Всем привет. Делаю заполнение бд access из delphi.Всего 4 таблицы, 3 из них связаны с первой по ключу. Ключ главной ='ключ' ключи остальных ='сотрудник' К каждой таблице идет свой adoqure. При вызове формы на создание пишу код
Delphi
1
2
3
4
5
6
7
8
procedure Tfmain.Button1Click(Sender: TObject);
begin
        fDm.flich.Append; //записать в таблицу личные данные
       fDm.fadres.Append; //записать в таблицу адрес
       fDm.fphones.Append; //запись в таблицу телефон
       fDm.frabota.Append; //запись в таблицу работа
       fEditor.ShowModal;  //открыть окно заполнения
end;
В форме заполнения данные вводятся через edit. Поле ключа первой таблицы счетчик, остальные ключи. Делаю заполнение следующим кодом:
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
procedure Tfeditor.Button1Click(Sender: TObject);
begin
fdm.flich.FieldByName('фамилия').AsString:=edit1.text;
fdm.flich.FieldByName('имя').AsString:=edit2.text;
fdm.flich.FieldByName('отчество').AsString:=edit3.text;
fdm.flich.FieldByName('пол').AsString:=combobox1.Text;
fdm.flich.FieldByName('сем_полож').AsBoolean:=checkbox1.checked;
fdm.flich.FieldByName('детей').AsString:=edit5.text;
fdm.flich.FieldByName('дата_рожд').AsString:=edit4.text;
fdm.flich.FieldByName('дата_пост').AsString:=edit6.text;
fdm.flich.FieldByName('стаж').AsString:=edit7.text;
fdm.flich.FieldByName('образование').AsString:=edit8.text;
fdm.flich.FieldByName('военнообязанный').AsBoolean:=checkbox2.checked;
fdm.flich.Post;
 
fdm.frabota.FieldByName('сотрудник').AsString:=fdm.flich.fieldbyname('ключ').AsString;
fdm.frabota.FieldByName('отдел').AsString:=combobox2.Text;
fdm.frabota.FieldByName('должность').AsString:=edit9.Text;
fdm.frabota.FieldByName('УК').AsString:='Дом1';
fdm.frabota.FieldByName('телефон').AsString:='7364237';
fdm.frabota.FieldByName('адрес').AsString:='hjfdh';
fdm.frabota.Post;
 
fdm.frabota.FieldByName('сотрудник').AsString:=fdm.flich.fieldbyname('ключ').AsString;
fdm.fadres.FieldByName('страна').AsString:= edit10.Text;
fdm.fadres.FieldByName('город').AsString:=edit11.Text;
fdm.fadres.FieldByName('дом_адрес').AsString:=edit12.Text;
fdm.fadres.Post;
 
fdm.fphones.FieldByName('сотрудник').AsString:=fdm.flich.fieldbyname('ключ').AsString;
fdm.fphones.FieldByName('телефон').AsString:=edit13.Text;
fdm.fphones.FieldByName('примечание').AsString:=combobox3.Text;
fdm.fphones.Post;
 
Close;
end;
Возникает такая ошибка, Что я делаю не так? :
Миниатюры
Заполнение бд через adoquery  
0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
25.04.2015, 20:57
Ответы с готовыми решениями:

Как в делфи добавить через Adoquery в таблицу вещественное число, через insert
Как в делфи добавить через Adoquery в таблицу вещественное число, через insert. При добавлении у меня выводит ошибку Data Truncated for...

Поиск через ADOQuery
Здравствуйте, после компиляции данного кода после нажатия кнопки ничего не происходит. До этого названия таблиц были без скобок, но при...

Фильтрация В БД через ADOQuery
Помогите сделать фильтрацию, с поиском по фамилии, таблица Access Button+Edit нужен код)

4
1076 / 989 / 340
Регистрация: 07.08.2012
Сообщений: 2,790
25.04.2015, 21:22
После вызова метода Post датасет автоматом переводится в состояние dsBrowser, т.е. происходит выход из состояния добавления данных.
Для последующей записи нужно опять вызвать Append, Insert или Edit компонента frabota.

Или, скорее, в приведенном фрагменте описка:
Delphi
1
2
  fdm.frabota.FieldByName('сотрудник').AsString:=...; //строка не нужна
  fdm.fadres.FieldByName('страна').AsString:= edit10.Text;
0
0 / 0 / 0
Регистрация: 02.06.2012
Сообщений: 17
25.04.2015, 21:26  [ТС]
так это же разные adoquery
0
1076 / 989 / 340
Регистрация: 07.08.2012
Сообщений: 2,790
25.04.2015, 21:27
Цитата Сообщение от studenti Посмотреть сообщение
так это же разные adoquery
Вот именно. И чего делают разные компоненты в одном месте?
1
0 / 0 / 0
Регистрация: 02.06.2012
Сообщений: 17
25.04.2015, 21:35  [ТС]
все заработало. спасибо)
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
25.04.2015, 21:35
Помогаю со студенческими работами здесь

Запросы к БД через ADOQuery
Прошу помощи в нахождении и исправлении ошибки. Существует проект Delphi связанный с БД Access, в которой несколько таблиц. Связь через...

Поиск через adoquery
соединила mysql delphi при помощи adoconnec,adotable,datasource.теперь хочу сделать вкладку поиск,вроде бы это можно сделать через...

Запросы через ADOQuery
В общем есть БД в MS SQL SERVER и ADOQuery на форме в Delphi. В общем, хочется сделать возможность написания запросов к БД на отдельной...

Добавление записи через adoquery
Привет я новичек в разработки приложении по запросам в adoquery, можно сказать только начинаю до этого работал в adotable, как пересел на...

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


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

Или воспользуйтесь поиском по форуму:
5
Ответ Создать тему
Новые блоги и статьи
SDL3 для Web (WebAssembly): Реализация движения на Box2D v3 - трение и коллизии с повёрнутыми стенами
8Observer8 20.02.2026
Содержание блога Box2D позволяет легко создать главного героя, который не проходит сквозь стены и перемещается с заданным трением о препятствия, которые можно располагать под углом, как верхнее. . .
Конвертировать закладки radiotray-ng в m3u-плейлист
damix 19.02.2026
Это можно сделать скриптом для PowerShell. Использование . \СonvertRadiotrayToM3U. ps1 <path_to_bookmarks. json> Рядом с файлом bookmarks. json появится файл bookmarks. m3u с результатом. # Check if. . .
Семь CDC на одном интерфейсе: 5 U[S]ARTов, 1 CAN и 1 SSI
Eddy_Em 18.02.2026
Постепенно допиливаю свою "многоинтерфейсную плату". Выглядит вот так: https:/ / www. cyberforum. ru/ blog_attachment. php?attachmentid=11617&stc=1&d=1771445347 Основана на STM32F303RBT6. На борту пять. . .
Камера Toupcam IUA500KMA
Eddy_Em 12.02.2026
Т. к. у всяких "хикроботов" слишком уж мелкий пиксель, для подсмотра в ESPriF они вообще плохо годятся: уже 14 величину можно рассмотреть еле-еле лишь на экспозициях под 3 секунды (а то и больше),. . .
И ясному Солнцу
zbw 12.02.2026
И ясному Солнцу, и светлой Луне. В мире покоя нет и люди не могут жить в тишине. А жить им немного лет.
«Знание-Сила»
zbw 12.02.2026
«Знание-Сила» «Время-Деньги» «Деньги -Пуля»
SDL3 для Web (WebAssembly): Подключение Box2D v3, физика и отрисовка коллайдеров
8Observer8 12.02.2026
Содержание блога Box2D - это библиотека для 2D физики для анимаций и игр. С её помощью можно определять были ли коллизии между конкретными объектами и вызывать обработчики событий столкновения. . . .
SDL3 для Web (WebAssembly): Загрузка PNG с прозрачным фоном с помощью SDL_LoadPNG (без SDL3_image)
8Observer8 11.02.2026
Содержание блога Библиотека SDL3 содержит встроенные инструменты для базовой работы с изображениями - без использования библиотеки SDL3_image. Пошагово создадим проект для загрузки изображения. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru