Вопрос № 94832: Здравствуйте! Подскажите, пожалуйста, как готовое приложение (на Делфи7 и Paradox) перенести на другой компьютер. Может быть, можно создать модуль для установки пользователем, который бы спрашивал, в какой каталог установить и т. п.? Есть в Делфи так...Вопрос № 94873: Вот такой вот вопросик у меня назрел:
Подскажите или лучше примерчиком ... хочу создать триггер чтобы при изменении в двух столбцах данных в третьем столбце записывалась сумма этих двух столбцов .... пробовал сделать но получается постоянно ошибк...Вопрос № 94879: Добрый день уважаемые експерты.
Помогите пожалуста с проблеиой:
Моя програма должна выбирать информацию с БД на MS SQLServer и Експортировать информацию в .dbf файл. Проблем с выборкой нету, но когда я експортирую, тогда возникают проблемы. Д...
Вопрос № 94.832
Здравствуйте! Подскажите, пожалуйста, как готовое приложение (на Делфи7 и Paradox) перенести на другой компьютер. Может быть, можно создать модуль для установки пользователем, который бы спрашивал, в какой каталог установить и т. п.? Есть в Делфи такая возможность или нет? Я в литературе почему-то совсем ничего не нашла по этому поводу. Или достаточно просто перенести ехе-файл и скопировать базу в нужный каталог? Спасибо.
Отправлен: 11.07.2007, 20:40
Вопрос задала: Mammka (статус: Посетитель)
Всего ответов: 2 Мини-форум вопроса >>> (сообщений: 3)
Отвечает: Виктор Пырлик
Здравствуйте, Mammka!
Скорее всего, ваша связка «приложение – таблицы Paradox» работают через драйвера доступа к данным – BDE. Следовательно, вам надо не только перенести приложение на другой компьютер, но и позаботиться об существовании там этих драйверов.
Возможно несколько путей:
1. «Классический» - сделать установочную программу (setup). Это можно сделать посредством поставляемой с Delphi программы создания установочных пакетов - InstallShield Express Borland Limited Edition, при формировании установочной программы, необходимо включить опцию BDE.
2. Найти отдельно поставляемый установочный пакет BDE. И установить его отдельно.
3. Скопировать файлы из каталога c:Program FilesCommon FilesBorlanBDE в папку с программой. И эту папку переносить куда угодно (на другие машины). Там нужны не все библиотеки (и файлы), но полный список сейчас не скажу, нет возможности проверить. В таком виде, это будет 17 мегабайт.
Необходимо, если вы используете «алиасы» при соединении с базой данных из приложения, или также завести такой же алиас на той машине куда перенесёте приложение, или, не использовать алиасы вообще (что более оптимально) а указывать в приложении относительный путь к каталогу с таблицами (таблицы надо естественно тоже перенести на ту машину). В случае с алиасами, можно базу данных оставить на одной машине, а в BDE создавая алиас указать путь (сетевой) к каталогу, где расположены таблицы, например: \host1aza -
в этом случае, у вас получится сетевой вариант работы (одна на всех база данных).
Так же, при сборке приложения, надо снять галочку:
Project – Options – вкладка Packages – снять галочку с Build with runtime packages – чтобы не тащить за собой библиотеки времени исполнения (файлы *.bpl).
// рекомендую установить галочку default :)
--------- Если ничего не помогло - надо читать инструкцию
Ответ отправил: Виктор Пырлик (статус: 7-ой класс)
Ответ отправлен: 11.07.2007, 22:14
Отвечает: Shveps
Здравствуйте, Mammka!
Ответ удален, как не несущий полезную информацию и перенесен в форумУдаленные ответы для обсуждения Эксперт sir henry --------- Пиво ф топку !!! Водку Тоже !!!
Ответ отправил: Shveps (статус: 6-ой класс)
Ответ отправлен: 12.07.2007, 16:57
Вопрос № 94.873
Вот такой вот вопросик у меня назрел:
Подскажите или лучше примерчиком ... хочу создать триггер чтобы при изменении в двух столбцах данных в третьем столбце записывалась сумма этих двух столбцов .... пробовал сделать но получается постоянно ошибка multiple row .... и как выцепить id записи в которой происходит изменение .... Спасибо всем кто ответит!!! Лучше примерчик, переделаю его под себя
Отправлен: 12.07.2007, 09:06
Вопрос задал: Bvg82 (статус: Посетитель)
Всего ответов: 3 Мини-форум вопроса >>> (сообщений: 9)
Отвечает: Sandy
Здравствуйте, Bvg82!
Тригер выглядит примерно так:
CREATE OR ALTER TRIGGER TR_TABLE_BU FOR TABLE
ACTIVE BEFORE UPDATE POSITION 0
AS
begin
...
new.SUM_FIELD=new.FIELD1+new.FIELD2;
...
end
А что бы "выцепить" id то я бы предложил делать апдейт таблицы, в случаях когда id требуется, при помощи процедуры, у которой входные параметры - новые поля, выходной - new.id
Правда мне не совсем понятно - если неизвестен id - Вы, очевидно, обновляете несколько записей и, соответственно, ни о каком единичном id речи не идет. Если же обновляете одну запись, то обычно её по этому id и идентифицируют при построении условия в запросе обновления - значит он априори известен.
Ответ отправил: Sandy (статус: 8-ой класс)
Ответ отправлен: 12.07.2007, 09:28 Оценка за ответ: 4 Комментарий оценки: попробовал вот так CREATE TRIGGER YEARS_BU0 FOR YEARS ACTIVE BEFORE UPDATE POSITION 0 AS begin new.summa=new.summa_vs+new.summa_vo; end
выдает Too many concurrent executions of the same request...
Отвечает: Виктор Пырлик
Здравствуйте, Bvg82!
Вы не указали СУБД.
Для MS SQL:
CREATE TABLE Table1 (
n1 int NULL ,
n2 int NULL ,
sum_nn AS (n1 + n2) ,
)
Для Interbase/Firebird:
CREATE TABLE Table1 (
N1 INTEGER,
N2 INTEGER,
RES_NN COMPUTED BY (n1+n2)
);
Суть, думаю, понятна и для других СУБД. В данном случае, нет необходимости использовать триггер. Достаточно вычисляемого столбца. Для изменения типа поля (столбца) можно использовать графические средства СУБД. Для вычисления доступны все арифметические операции.
--------- Если ничего не помогло - надо читать инструкцию
Ответ отправил: Виктор Пырлик (статус: 7-ой класс)
Ответ отправлен: 12.07.2007, 09:50 Оценка за ответ: 4 Комментарий оценки: про вычисляемый столбец я в курсе ... просто хотел попробовать реализовать с помощью триггера ...
Отвечает: Shveps
Здравствуйте, Bvg82!
В приложении приведен скрипт для MSSQLServer
Приложение:
--------- Пиво ф топку !!! Водку Тоже !!!
Ответ отправил: Shveps (статус: 6-ой класс)
Ответ отправлен: 12.07.2007, 10:25 Оценка за ответ: 5 Комментарий оценки: пасибки ... я не указал что мне для interbase ... но постараюсь переделать под себя ... посмотрим что получится
Вопрос № 94.879
Добрый день уважаемые експерты.
Помогите пожалуста с проблеиой:
Моя програма должна выбирать информацию с БД на MS SQLServer и Експортировать информацию в .dbf файл. Проблем с выборкой нету, но когда я експортирую, тогда возникают проблемы. Для .dbf я использую компонент TDBF 6.25. Структура файла должна быть:
CDPR - Numeric (12)
IDCODE - Character(10)
FIO - Character(50)
...
SUMM - Numeric (8 - (5.2))
FACT - Numeric (13 - (6.6)).
Создать такую структуру в самом компоненте не выходит (с Character всьо нормально, а в Numeric не могу установить размер поля).
Когда я пробую сделать шаблон, тогда при занесении в поле SUMM (-) числа не заносятся вобще, а (+) заносяться с ошыбкой (вместо 9,14 заноситса 9,17) а в поле FACT напр. вместо числа 35,000000 заносится 5,00000, вместо числа 71,000000 заноситься 1,000000.
Помогите пожалуйста. Может ктото стыкался с такой задачей, может нужно воспользоваться другим компонентом или експортировать как-то иначе? Код для експорта привожу ниже. С уважением Ю.Фадеев.
Отвечает: Shveps
Здравствуйте, Фадеев Юрий!
По моемому, тут поле Numeric тут только ограничивается семизначностью, начиная с конца строки числа.
--------- Пиво ф топку !!! Водку Тоже !!!
Ответ отправил: Shveps (статус: 6-ой класс)
Ответ отправлен: 12.07.2007, 11:17