Форум по Delphi программированию

Delphi Sources



Вернуться   Форум по Delphi программированию > Все о Delphi > Базы данных
Ник
Пароль
Регистрация <<         Правила форума         >> FAQ Пользователи Календарь Поиск Сообщения за сегодня Все разделы прочитаны

Ответ
 
Опции темы Поиск в этой теме Опции просмотра
  #16  
Старый 18.10.2013, 14:07
Scorpuha Scorpuha вне форума
Новичок
 
Регистрация: 13.06.2013
Сообщения: 77
Версия Delphi: Delphi 7
Репутация: 10
По умолчанию

Цитата:
Сообщение от Scorpuha
ээээ, добавил таблицу orders, также добавил поле IDorder в таблицу Products. Но вот незадача, DBGrid никак хочет отображать новое поле, или так просто нельзя добавлять поля в существующие таблицы?


с этим разобрался, продолжаю дальше ковырять
Ответить с цитированием
  #17  
Старый 18.10.2013, 14:16
Аватар для NumLock
NumLock NumLock вне форума
Let Me Show You
 
Регистрация: 30.04.2010
Адрес: Северодвинск
Сообщения: 5,426
Версия Delphi: 7, XE5
Репутация: 59586
По умолчанию

имхо, не правильно в таблице продуктов хранить номер заказа: заказов одного продукта может быть несколько. правильней, наверное, в таблице заказов хранить номер продукта.
__________________
Пишу программы за еду.
__________________
Ответить с цитированием
  #18  
Старый 18.10.2013, 14:34
Scorpuha Scorpuha вне форума
Новичок
 
Регистрация: 13.06.2013
Сообщения: 77
Версия Delphi: Delphi 7
Репутация: 10
По умолчанию

Цитата:
Сообщение от NumLock
имхо, не правильно в таблице продуктов хранить номер заказа: заказов одного продукта может быть несколько. правильней, наверное, в таблице заказов хранить номер продукта.


вот сейчас только что смотрел поля таблицы Tovar и пришел к такому же выводу
Ответить с цитированием
  #19  
Старый 18.10.2013, 15:29
Аватар для Uniq!
Uniq! Uniq! вне форума
Местный
 
Регистрация: 29.09.2010
Сообщения: 539
Версия Delphi: Delphi XE3
Репутация: 374
По умолчанию

Насколько я понял у Автора каждый товар уникален, поэтому я предложил такой вариант.
Вообще в ссылке, что я привёл, всё разобрано по косточкам. Там около 40 страниц пояснений к каждому действию. И программу создауют точь в точь такую же.

Цитата:
Сообщение от NumLock
не правильно в таблице продуктов хранить номер заказа
Я не предлагал номер заказа там хранить. Я предлагал там хранить ID заказа (это не Юр.номер, а номер ПП, к которому никакого доступа пользователь не имеет.)
Это вообще не номер, а поле связи MasterDetail.

Цитата:
Сообщение от Scorpuha
Но вот незадача, DBGrid никак хочет отображать новое поле, или так просто нельзя добавлять поля в существующие таблицы?
DBGRID - отображает! Он ничего не должен добавлять. С ним должны быть связаны Визуальные DB компоненты вроде DBEdit и DBCombobox. И три кнопки Добавить Сохранить Отмена.
На первой Orders.Insert;
На второй Orders.Post;
На третей Orders.Cancel;

Открой ссылку! И иди читай. Там всё всё всё написано, я просто копипастом занимаюсь. Что за лень, откуда её столько?!

Последний раз редактировалось Uniq!, 18.10.2013 в 15:38.
Ответить с цитированием
  #20  
Старый 18.10.2013, 15:56
Аватар для M.A.D.M.A.N.
M.A.D.M.A.N. M.A.D.M.A.N. вне форума
Sir Richard Abramson
 
Регистрация: 05.04.2008
Сообщения: 5,505
Версия Delphi: XE10
Репутация: выкл
По умолчанию

Пора создавать раздел "Частная помощь", чтоб вот такие "step-by-step" проблемы там решать, и не создавать в общих разделах портянки на 2..inf страниц.
__________________
— Как тебя понимать?
— Понимать меня не обязательно. Обязательно меня любить и кормить вовремя.


На Delphi, увы, больше не программирую.
Рекомендуемая литература по программированию
Ответить с цитированием
Этот пользователь сказал Спасибо M.A.D.M.A.N. за это полезное сообщение:
Uniq! (18.10.2013)
  #21  
Старый 18.10.2013, 16:10
Scorpuha Scorpuha вне форума
Новичок
 
Регистрация: 13.06.2013
Сообщения: 77
Версия Delphi: Delphi 7
Репутация: 10
По умолчанию

извините меня за мою наглость,
этот код
Код:
procedure TForm1.DBGrid1CellClick(Column: TColumn);
 begin
    DataModule2.Orders.Edit;
     DataModule2.Orders.FieldByName('IDTovara').AsInteger := DataModule2.TovarName.FieldByName('ID').AsInteger;
    DataModule2.Orders.Post;
end;

заносит ОДНУ запись в таблицу Orders, а как сделать чтобы после N-го количества кликов по DbGrid появилось в таблице Orders N-ое колиество записей.
Ответить с цитированием
  #22  
Старый 18.10.2013, 16:28
Аватар для Alegun
Alegun Alegun вне форума
LMD-DML
 
Регистрация: 12.07.2009
Адрес: Богородское
Сообщения: 3,025
Версия Delphi: D7E
Репутация: 1834
По умолчанию

Вместо CellClick использовать DblClick
Ответить с цитированием
  #23  
Старый 18.10.2013, 16:35
Scorpuha Scorpuha вне форума
Новичок
 
Регистрация: 13.06.2013
Сообщения: 77
Версия Delphi: Delphi 7
Репутация: 10
По умолчанию

все равно записывает последнее действие
Ответить с цитированием
  #24  
Старый 18.10.2013, 16:37
Аватар для Uniq!
Uniq! Uniq! вне форума
Местный
 
Регистрация: 29.09.2010
Сообщения: 539
Версия Delphi: Delphi XE3
Репутация: 374
По умолчанию

Он ничего не заносит!
Он открывает (.Edit) существующую запись, делает изменение в колнке IDOrder, и сохраняет (.Post) эти изменения.
Тем самым показывая, что конкретный товар с ранее "пустым" IDOrder теперь привязан к конкретному заказу.

Судя по "IDTovara" вы решили изобрести Велосипед. Ну что ж, удачи вам.

Последний раз редактировалось Uniq!, 18.10.2013 в 16:41.
Ответить с цитированием
  #25  
Старый 18.10.2013, 16:44
Аватар для Alegun
Alegun Alegun вне форума
LMD-DML
 
Регистрация: 12.07.2009
Адрес: Богородское
Сообщения: 3,025
Версия Delphi: D7E
Репутация: 1834
По умолчанию

Вместо Orders.Edit вставить Orders.Insert, не?
Ответить с цитированием
Этот пользователь сказал Спасибо Alegun за это полезное сообщение:
Scorpuha (18.10.2013)
  #26  
Старый 18.10.2013, 16:56
Scorpuha Scorpuha вне форума
Новичок
 
Регистрация: 13.06.2013
Сообщения: 77
Версия Delphi: Delphi 7
Репутация: 10
По умолчанию

Цитата:
Сообщение от Alegun
Вместо Orders.Edit вставить Orders.Insert, не?

вооо, пошел процесс. есть нюансы правда
Ответить с цитированием
  #27  
Старый 18.10.2013, 17:52
Аватар для Mrak
Mrak Mrak вне форума
Местный
 
Регистрация: 26.01.2013
Адрес: МО
Сообщения: 438
Версия Delphi: XE2
Репутация: 17
По умолчанию

Цитата:
Сообщение от Uniq!
Что за лень, откуда её столько?!
О,лень!

даже отвечать таким в лом
форумчане, откуда у вас столько терпения? дайте чуть-чуть!
__________________
Я за здоровый экстрим!
Спасибо за "спасибо")
Ответить с цитированием
  #28  
Старый 18.10.2013, 18:09
Аватар для M.A.D.M.A.N.
M.A.D.M.A.N. M.A.D.M.A.N. вне форума
Sir Richard Abramson
 
Регистрация: 05.04.2008
Сообщения: 5,505
Версия Delphi: XE10
Репутация: выкл
По умолчанию

По идее, это больше "код на шару", нежели просьба о помощи.
Если вы читали правила форума, то должны были заметить пункт "один вопрос - одна тема". Нарушаем-с!
__________________
— Как тебя понимать?
— Понимать меня не обязательно. Обязательно меня любить и кормить вовремя.


На Delphi, увы, больше не программирую.
Рекомендуемая литература по программированию
Ответить с цитированием
Ответ


Delphi Sources

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск
Опции просмотра

Ваши права в разделе
Вы не можете создавать темы
Вы не можете отвечать на сообщения
Вы не можете прикреплять файлы
Вы не можете редактировать сообщения

BB-коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.
Быстрый переход


Часовой пояс GMT +3, время: 15:07.


 

Сайт

Форум

FAQ

RSS лента

Прочее

 

Copyright © Форум "Delphi Sources" by BrokenByte Software, 2004-2023

ВКонтакте   Facebook   Twitter