![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Помогите с копированием строк [D7, Paradox]
Karnegi © (2003-09-03 13:39:00)
У меня на форме имеются Table1 и Table2 (соответсвенно и две таблицы Paradox), подскажите как мне сделать так чтобы при нажатии кнопки выбранная строка копировалась из table1 в Table2(поля у этих таблиц одинаковые).
Sandman25 (2003-09-03 17:04:00) [41]
[34] MsGuns © (03.09.03 16:54)
Хорошо написали. Только мне сразу вспомнился анекдот с концовкой
- Папа, а ты сейчас с кем разговаривал? :)
Smashich (2003-09-03 17:01:00) [42]
и не забудь сказать спасибо за науку;) шучу.
MsGuns (2003-09-03 16:54:00) [43]
>Karnegi (03.09.03 16:34)
Не кипятись,- выглядишь смешно ;)
Начни с того, что разберись в том, ЧТО ты хочешь сделать, т.е. какую цель преследуешь, кому это надо, чтО это ему даст и т.д.
Затем собери всю "первичку", т.е. структуру информации, в каком виде хранится, печатается, заполняется.
После этого построй всю эту кухню в виде иерархической модели с горизонтальными связями.
Вот теперь соьственно можно приступать к проектированию (но не программированию)
При проектировании информация разбивается на объекты, опреляются св-ва этих объектов, связи между объектами. Всем объектам ставится в соответствие некий уникальный идентификатор, однозначно указывающий на своего владельца (как № в паспорте)
Далее разборки с общими св-вами, которые можно "вынести за скобки", т.е. в справочники. Затем все размещается по таблицам, полям и записям даются имена и типы данных. Между ними устанавливаются связи (иногда только на бумаге, если реализованы будут "на клиенте")
И вот только после этого собственно можно приступать к созданию интерфейсных (БД-узер) форм, куда уже и кидаются контролы визуализации, пишутся обработчики, кодируется клиентская часть бизнес-логики базы данных.
Все это можно почитать практически в любой книжке по БД, а если нет денег или времени искать книги, то масса инфы валяется в статьях и даже книгах. Если бы ты задал вопрос примерно так:
"Мне надо создать программу по учету абонентской платы за телефон. БД - парадокс. Где мне найти информацию подобного рода ?", то 99%, что получил бы нормальные советы и ссылки на литературу. Но ты сначала написал уродца, теперь его тщетно пестуешь, пытаясь добиться толка. Когда не выходит, идешь в форум с вопросом "Почему у меня в 384 строке эксепшн ?" и недоумеваешь, когда вместо помощи с тебя начинают прикалываться.
А теперь вообще окрысился ;))
Vlad (2003-09-03 16:53:00) [44]
TForm1.Button1Click(Sender: TObject)
begin
TTableRecordCopy(Table1, Table2);
end;
Где Table1 - источник, Table2 - приемник
Karnegi (2003-09-03 16:51:00) [45]
Для меня трудно, я ето делаю в первый раз, а вы начинаете вые....ся, неможете нормально подсказать
Smashich (2003-09-03 16:51:00) [46]
все. иди читай. а то это караул. процедуры разные.
Vlad (2003-09-03 16:49:00) [47]
а че, трудно из одной процедуры вызвать другую ?
Karnegi (2003-09-03 16:48:00) [48]
Процедуры то разные: procedure TForm1.Button1Click(Sender: TObject)
и procedure TTableRecordCopy(Source, Destination: TTable);
Vlad (2003-09-03 16:43:00) [49]
>sewer1 (03.09.03 16:42) [26]
Ну вот, раскрыл все карты, млин !
Smashich (2003-09-03 16:42:00) [50]
2 Karnegi (03.09.03 16:34) [23]
не обижайся. что такое процедура? и как ее можно вызвать "при нажатии конопки"?
ты представляешь что делает твой "код по копированию строк из одной таблицы в другую"?. и чем от отличается от ранее приведенного by MsGuns ©. ответив на эти вопросы - получишь массу иныормации.
sewer1 (2003-09-03 16:42:00) [51]
А в чем проблема-то? Ну положи кнопку на форму, щелкни по ней и запиши код.
Karnegi (2003-09-03 16:37:00) [52]
На то форумы и существуют чтобы помогать а не блестать КРАСНОРЕЧИЕМ!!!
Karnegi (2003-09-03 16:36:00) [53]
Если бы я мог разобраться сам я бы по форумам не лазил
Karnegi (2003-09-03 16:34:00) [54]
Smashich ты можешь обьяснить нормально???? То что ты гений в Delphi ето я уже понял
Smashich (2003-09-03 16:33:00) [55]
Karnegi (03.09.03 16:32) [20]
лично я не подскажу. ибо все таки хочеться что бы ты сам разобрался что за код ты пытаешься "скопировать".
Karnegi (2003-09-03 16:32:00) [56]
Ну может все таки кто нибудь подскажет как все это дело с копированием сделать так чтоб работало? А то у нас тема поменялась на то, как учиться Delphi:)
Smashich (2003-09-03 16:32:00) [57]
Только как сделать чтобы он копировал при нажатии кнопки?..мыслю я что даже с вызовами процедур проблемы у психолога
Smashich (2003-09-03 16:29:00) [58]
2 Karnegi (03.09.03 15:45) [18]
не все так начинали:) если уж ищешь по инету - так не код ищи а знания. тогда и вопросов таких не возникнет.
Karnegi (2003-09-03 15:45:00) [59]
Ну а откуда я придумаю та код если я делаю БД первый раз вот и приходится искать кодинг по инету.
MsGuns (2003-09-03 15:43:00) [60]
>Karnegi (03.09.03 15:25) [12]
Приведенный тобою код практически от моего не отличается. Не надо пытаться тупо выдирать откуда-то куски кода и лепить их в свою прогу, не осмысливая.
Копирование MsGuns © (03.09.03 13:59) [3] есть буквальный ответ на твой вопрос. Так не делается. Хотя бы потому, что таким образом не учитываются ограничения, наложенные на целевую таблицу (первичный ключ или уник.индекс только частные случаи таких ограничений).
Попробуй взлянуть на таблицы не как на кучи данных, сваленные в грид, а как на "живые" сущности и сразу будет понятна порочность такого "гридного" подхода. Типа как можно копировать адрес и данные паспорта Иванова в картотеку его нового отдела, не проверив номер карточки ?