Форум программистов, компьютерный форум, киберфорум
Delphi: Базы данных
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск  
 
 
Рейтинг 4.69/13: Рейтинг темы: голосов - 13, средняя оценка - 4.69
0 / 0 / 0
Регистрация: 26.05.2015
Сообщений: 68
RAD 2009-XE2

БД "Склад"

20.07.2019, 12:10. Показов 2982. Ответов 33

Студворк — интернет-сервис помощи студентам
Здравствуйте. Прошу помочь материалами и советом по следующему вопросу.
Поставили задачу написать простую БД "СКЛАД" (не более 7 таблиц). С возможностью работы в ней по сети и разграничением прав пользователей.
Писать буду на delphi 10 + postgreSQL. Опыта практически нет, отсюда следующий вопрос:
для связи делфи с субд использовать firedac, zeoslib, ado?
Как грамотно сделать авторизацию и идентификацию пользователя и обрезать права обычному оператору?
Заранее благодарю.
0
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
20.07.2019, 12:10
Ответы с готовыми решениями:

БД склад
четыре таблицы. "Роль" "справочник фирм" "приход" и "расход" роль имеет связь с табл "спр фирм" необходимо установить связь...

бд склад
Имеется бд(access) с таблицами , всё это помещаю на форму (с помощью AdoQuery). Имеются таблица "Приход" ,"Расход",...

компьютерный склад
Делаю программу компьютерный склад. Бд ADO c ADOConnection Возникла следующая проблема, в таблице товар поделен на разделы (процессор,...

33
 Аватар для Пытливый
3764 / 2272 / 705
Регистрация: 29.05.2013
Сообщений: 9,622
24.07.2019, 12:51
Студворк — интернет-сервис помощи студентам
не нужно использовать пользователей от БД
обоснуйте. Есть механизм сделанный именно для контроля доступа пользователя, а вы предлагаете его выбросить и сделать свой. Нелогично.
0
 Аватар для krapotkin
6854 / 4680 / 1465
Регистрация: 14.04.2014
Сообщений: 20,684
Записей в блоге: 21
24.07.2019, 13:57
это контроль доступа к объектам БД
он не имеет никакого отношения к объектам и ролям в вашей программе

для управления правами в БД требуется доступ админа БД
для выдачи прав Бухгалтеру редактировать доступ к Карточке товара это будет перебор
доступ к объектам программы проверяется на уровне программы, а не БД
если требуется повышенная секьюрность, то заводим два логина, с которым программа ходит в базу - один для первого доступа на чтение только таблицы USERS, если аутентификация прошла норм, выдаем ей второй на нормальный доступ к объектам БД

Добавлено через 1 минуту
есть еще вопросы бакапов БД
которые не связаны с пользователями

и информацию о пользователях где хранить, если сервер имеет только логин/пароль/descroption
0
0 / 0 / 0
Регистрация: 26.05.2015
Сообщений: 68
24.07.2019, 14:29  [ТС]
Что то голова перестала работать, нужна мысль!!!! Вопрос:
есть таблицы:

Справочник групп:
id serial
name varchar

Комплектующие
id serial
idGrp integer
name varchar
Связаны по полям idGrp - id,
Как добавить данные избежав конфликта типов???
0
 Аватар для krapotkin
6854 / 4680 / 1465
Регистрация: 14.04.2014
Сообщений: 20,684
Записей в блоге: 21
24.07.2019, 14:32
нет никакого конфликта
пишите id группы в idgrp
0
0 / 0 / 0
Регистрация: 26.05.2015
Сообщений: 68
24.07.2019, 18:07  [ТС]
Точно! Если не трудно подскажите как реализовать:
1) при открытии формы чтобы в dbCombobox подгружались значения из name таблицы справочники.

Добавлено через 35 минут
Delphi
1
2
3
4
5
6
7
8
9
10
11
12
begin
 datamodule1.fqAddGrid.Open('select firstname from groupk');
  DBCombobox1.Clear;
  if datamodule1.fqAddGrid.Active then datamodule1.fqAddGrid.First else datamodule1.fqAddGrid.Open;
   if datamodule1.fqAddGrid.Eof then
    DBCombobox1.Items.Add('набор данных пуст')
  else
    while not datamodule1.fqAddGrid.Eof do  begin
      DBCombobox1.Items.Add(datamodule1.fqAddGrid.Fields[0].AsString);
      datamodule1.fqAddGrid.Next;
    end;
end;
занести то заносятся, но не выбираются
(((((

Добавлено через 2 часа 31 минуту
Все таки не могу разобраться как добавить запись в связанную таблицу. У меня в dbCombobox указано значение 2 столбца, а как добавить значение его ID в связанный idgrp????
0
 Аватар для krapotkin
6854 / 4680 / 1465
Регистрация: 14.04.2014
Сообщений: 20,684
Записей в блоге: 21
25.07.2019, 08:24
стандартная задача в мире реляционных БД
в таблицах хранится либо данные, либо код из другой таблицы, где можно взять данные
соответственно, для просмотра и редактирования мы используем либо DBComboBox, который оперирует собсно значениями, либо DBLookupComboBox, который оперирует кодами, но пользователю показывает значения из другой таблицы

Вот и пользуйтесь сообразным задаче инструментом.
0
0 / 0 / 0
Регистрация: 26.05.2015
Сообщений: 68
25.07.2019, 09:16  [ТС]
не понимаю, что вы имеете ввиду. у меня таблица в ней 2 поля id и наименование. Я заношу эти наименования в dbcombobox и хочу чтобы id этого наименование заносилось в другую таблицу при добавлении этого значения
Например есть резная крышка, я указываю ей группу крышки (которой соответствует например id=2) и хочу чтобы при добавлении этой крышки в таблицу склад, значение 2 заносилось в столбик idgr
0
 Аватар для krapotkin
6854 / 4680 / 1465
Регистрация: 14.04.2014
Сообщений: 20,684
Записей в блоге: 21
25.07.2019, 09:32
вы про DBLookupComboBox специально читать не стали ?
0
0 / 0 / 0
Регистрация: 26.05.2015
Сообщений: 68
25.07.2019, 10:19  [ТС]
Если не трудно, можно пример кода? что то не то уже делаю по ходу....
0
 Аватар для krapotkin
6854 / 4680 / 1465
Регистрация: 14.04.2014
Сообщений: 20,684
Записей в блоге: 21
25.07.2019, 11:02
вы прочли что есть DBLookpuCombobox или нет?
я должен для вас составлять рабочий пример с пояснениями, а вам лень в доки посмотреть?
Как настроить DBLookupComboBox?
https://www.youtube.com/watch?v=xh9am3Kbob0
0
0 / 0 / 0
Регистрация: 26.05.2015
Сообщений: 68
25.07.2019, 11:28  [ТС]
Да ну нет конечно! Спасибо, что помогаете! Буду вникать!!!!
0
0 / 0 / 0
Регистрация: 26.05.2015
Сообщений: 68
30.07.2019, 12:28  [ТС]
Delphi
1
2
3
4
5
6
7
8
9
10
11
procedure TfrmPrihod.Button1Click(Sender: TObject);
var
    D : TDateTime;
begin
     D := Int(DateTimePicker1.Date);
     dm.fqDoc.Close;
     dm.fqDoc.SQL.Clear;
     dm.fqDoc.SQL.Text := 'INSERT INTO tdoc (datadoc) VALUES (:datadoc)';
     dm.fqDoc.FieldByName('datadoc').Value := D;
     dm.fqDoc.ExecSQL;
end;
Что я неправильно делаю, говорит datadoc не найден
0
 Аватар для krapotkin
6854 / 4680 / 1465
Регистрация: 14.04.2014
Сообщений: 20,684
Записей в блоге: 21
30.07.2019, 14:41
parambyname
0
6002 / 4577 / 1096
Регистрация: 29.08.2013
Сообщений: 28,268
Записей в блоге: 3
30.07.2019, 17:36
Цитата Сообщение от fya Посмотреть сообщение
dm.fqDoc.SQL.Clear;
можно не делать
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
30.07.2019, 17:36

программа склад
Здраствуйте всем у меня такой вопрос: Подключил бд(Access), она читается в dbgrid, в dbedit считывается нужное поле (кол-во), и написал...

Склад в Delphi
Как написать программу учета выданных вещей со склада? На Delphi.

Добавление товара на склад
Есть таблица поступление и склад. При добавлении добавлении записи в таблицу поступление просиходит добавление этого товара(только код...

Имеется три таблицы: приход, расход, и склад. Как написать код в Делфи?
Имеется три таблице приход расход и склад как написать код в делфи, что при приходе это число прибавлялась на склад

Программа склад
Надо создать такую программу чтобы программа принимала товары в склад и отправляла со склада. Если название товара которого мы принимаем...


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

Или воспользуйтесь поиском по форуму:
34
Ответ Создать тему
Новые блоги и статьи
мат медиц модель 30. презентация проекта
anaschu 27.08.2026
хоп хоп хоп хидахоп, а я кладую))
Как у меня протекала болезнь
zorxor 27.08.2026
Здравствуйте, друзья! Эта запись блога предназначена именно для вас - для моих дорогих друзей, которые знали меня лично. Чтобы ответить на вопрос - а что же со мной произошло на самом деле? Я учился. . .
Нашел вот забавное видео о измерениях. Лучшее что я видел на эту тему
kumehtar 26.08.2026
ILETXiw9bMQ Основная суть и тезисы по измерениям: 0D (Нулевое измерение): точка, не имеющая длины, ширины, высоты или объема. Объект не может перемещаться в 0D. 1D (Первое измерение):. . .
[EasyBuilder Pro] Памятка по разработке для панелей Weintek
ФедосеевПавел 26.08.2026
Памятка по разработке для панелей Weintek ВВЕДЕНИЕ Ранее, при реализации проектов основное внимание уделял разработке управляющей программы для контроллера, а панели оператора доставалось время. . .
Модель по догадкам
anaschu 25.08.2026
Прошло две недели. Я уже рассказывал, как разговаривал с сотрудниками у сортировки и как понял, что главная ветка — не про приёмку, а про отбор. Но тогда я думал, что понял механику. На этой неделе я. . .
Запись в регистр сведений независимо от заполненности табличной части
Maks 25.08.2026
Реализация из решения ниже выполнена на нетиповом документе с несколькими табличными частями, разработанного в КА2. Задача: Обеспечить запись документа в регистр сведений независимо от. . .
Ноутбук Альфария
kumehtar 24.08.2026
Встретился тут в сети ноутбук Альфария, примарха Альфа-Легиона. Хотя возможно, это ноутбук Омегона, разумеется. Ну как вам?
Мастера простых решений
DevAlt 23.08.2026
В сишарп стэках winforms, да и wpf существует сложная система связывания источниках данных и элементов формы(текстовые поля и метки), опирается все это на технологию событий и мета. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru