|
|
Регистрация Восстановить пароль |
Повторная активизация e-mail |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
|
Опции темы | Поиск в этой теме |
24.10.2008, 23:36 | #21 | |
*
Старожил
Регистрация: 22.11.2006
Сообщений: 9,201
|
Итак, по порядку:
1. Исходное положение - лежа То есть при запуске программы подключения к базе быть НЕ ДОЛЖНО!!! Все таблицы открываются по мере необходимости. Точно также происходит обязательное отключение от базы при закрытии программы. 2. При нажатии кнопки "Отменить" формы EditForm что у вас происходит? Есть очень простая команда - DataModule2.Distrib.Cancel; и все возвращается на круги своя... 3. Почему закомментированы строки в procedure TEditForm.FormActivate ? Список доступных к выдаче книг не формируется. 4. "Дата выдачи", "Дата возврата", "Реальная дата" - вы что, вручную их вводите??? И не "Реальная дата", а "Реальная дата возврата", не "Дата возврата", а "Назначенная дата возврата". Это нам с вами понятно, а вот юзеру - нет. Попробуй догадаться, что вы имеете в виду... 5. По секрету. Никогда не использую для таких форм ДБкомпоненты. Только простые эдиты, комбобоксы и т. д. В частности, вместо ваших DBEdit3, DBEdit4, DBEdit5 лучше всего подойдут компоненты ТDateTimePicker. А по нажатию кнопки "Сохранить" производится добавление записи (а не заранее, как у вас), заполнение полей значениями из перечисленных "простых" компонентов и постинг. Ну, и ваша проблема, наконец. Что это??? Код:
Почему при выборе книги ничем не заполняется DBEdit2 ? Вот вам и ваша проблема Цитата:
- создавать при запуске программы все формы "чохом, на всякий случай", это - недопустимое разбазаривание ресурсов компьютера. Все формы сразу юзеру не нужны - он не сороконожка, чтобы работать одновременно со всеми, да и винда ему этого не позволит, поскольку в данный момент времени лишь одно окно программы будет активно. Окна должны создаваться динамически, по мере надобности, и уничтожаться, когда надобность в них отпадет. Номер два: - совершенно непонятна логика создания датамодуля при том, что куча датасетов с сопутствующими компонентами разбросана мелкими кучками по формам... Вы уж соберите их все в датамодуле. Номер три: - определение базы, вернее, пути к ней... Это вообще ни в какие ворота не лезет. Посмотрите на форуме, как определить каталог, из которого запускается программа, добавьте к нему подкаталог с вашей базой и пропишите при создании датамодуля для всех датасетов... Юзер не обязан устанавливать вашу программу в предписанный вами каталог или настраивать алиасы... Он из вредности установит ее куда подальше и торжествующе заявит: "Программа не пашет!"... Пока все. Мельком пробежался, нету времени разбираться дальше. Последний раз редактировалось mihali4; 13.02.2009 в 23:57. Причина: Сбой базы. Восстановление поста на своем месте |
|
25.10.2008, 00:49 | #22 | |||
Форумчанин
Регистрация: 22.09.2007
Сообщений: 540
|
Спать хочется, на кое- что ответил, завтра разберусь с тем что вы написали...
Первым делом - спасибо за ваше терпение и понимание... Все мы когда-то были молодыми и зелёными... Спасибо за полные, чёткие ответы.... Теперь к делу... Цитата:
я его сделал посредствам ДатаСурса. Это ссылочное поле... Цитата:
Цитата:
|
|||
25.10.2008, 01:01 | #23 | |
*
Старожил
Регистрация: 22.11.2006
Сообщений: 9,201
|
Цитата:
Как заполнить DBEdit2 ? Код:
Последний раз редактировалось mihali4; 25.10.2008 в 01:04. |
|
26.10.2008, 10:51 | #24 |
Форумчанин
Регистрация: 22.09.2007
Сообщений: 540
|
mihali4, а у вас есть что-нибудь по ADO... А то у меня в книге Хомоненко "Delphi" 1200 страниц, про БД где-то половина, а про ADO страниц 8...
А мне бы по-больше... А то я и методов то не знаю... Поэтому и код у меня глупый... |
26.10.2008, 12:02 | #25 |
*
Старожил
Регистрация: 22.11.2006
Сообщений: 9,201
|
Да нет, только вот маленькая статейка:
Вложение 6275 И потом - что TTable, что TADOTable - у них практически все одинаково... Так что, кроме штатного хэлпа и некоторой доли сообразительности (что у вас наличествует), больше ничего и не надо. Последний раз редактировалось mihali4; 08.11.2008 в 14:04. |
26.10.2008, 12:25 | #26 | |
Форумчанин
Регистрация: 22.09.2007
Сообщений: 540
|
Цитата:
А вот вы что -то говорили про подключение таблиц, только тогда, когда они нужны. Это как сделать...? И про открытие и закрытие связи с БД? Последний раз редактировалось Arkuz; 26.10.2008 в 12:29. |
|
26.10.2008, 12:34 | #27 | ||
*
Старожил
Регистрация: 22.11.2006
Сообщений: 9,201
|
Исходное положение - ADOConnection1.Connected:=False; (пишу, не открывая Дельфи, по памяти, так что могу в буковках ошибиться, прошу строго не судить).
Цитата:
Код:
Цитата:
Код:
(Дело в том, что при аварийном (не дай бог ) завершении программы или винды коннект с базой может "залипнуть" (посредством некоего служебного файлика БД, не обработанного нормально из-за аварии) и следствием этого может явиться ваше изумление, когда вы попытаетесь что-либо с БД проделать, а она вам скажет, что занята другим юзером или программой, хотя кроме вас у компьютера никого нет и никаких других программ не запущено. Еще более трагические последствия могут быть, если БД находится на сервере - вплоть до полной блокировки нормальной работы сервера БД. Особенно для файловых серверов.) Последний раз редактировалось mihali4; 26.10.2008 в 12:43. |
||
26.10.2008, 17:02 | #28 |
Форумчанин
Регистрация: 22.09.2007
Сообщений: 540
|
Спасибо... В принципе я так и делал... Просто не понимал, почему открываются и другие таблицы. Прочитал ваш пост и понял, что Те таблицы открываются, потому что они связаны...
Код:
Последний раз редактировалось mihali4; 13.02.2009 в 23:58. Причина: Объединение постов |
26.10.2008, 17:13 | #29 |
*
Старожил
Регистрация: 22.11.2006
Сообщений: 9,201
|
На вопросы такого рода - общий ответ: ставим курсор на непонятное слово и жмем F1. В открывшемся окне справки - исчерпывающая информация. Плохо знаете английский? Я тоже не ас. Есть электронные переводчики, например, "TranslateIt!"...
|
26.10.2008, 17:39 | #30 |
Форумчанин
Регистрация: 22.09.2007
Сообщений: 540
|
Вот что происходит при инкрименте книги или декрименте в DistBook
Я уже не знаю что делать... Откуда эти ошибки берутся... Вы меня извините, но я первый раз вообще делаю БД, да и информации нет по ADO у меня... Последний раз редактировалось mihali4; 13.02.2009 в 23:32. Причина: Объединение постов |
|
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
библиотека Free Internet | Titan123 | Свободное общение | 7 | 20.08.2008 15:19 |
Библиотека для Delphi | Irat | Помощь студентам | 2 | 12.02.2008 20:13 |
Моя библиотека | mochaliviy | Свободное общение | 3 | 11.01.2008 13:23 |
библиотека TK и Ruby | kpp2 | Ruby | 5 | 22.12.2007 02:02 |
Стандартная библиотека... | Sota | Общие вопросы C/C++ | 3 | 17.07.2007 19:18 |