Отправляет email-рассылки с помощью сервиса Sendsay

RFpro.ru: СУБД и Delphi/Lazarus

  Все выпуски  

RusFAQ.ru: СУБД и Delphi


РАССЫЛКИ ПОРТАЛА RUSFAQ.RU

/ КОМПЬЮТЕРЫ И ПО / Языки программирования / СУБД и Delphi

Выпуск № 367
от 17.07.2007, 12:05

Администратор:Gh0stik
В рассылке:Подписчиков: 332, Экспертов: 40
В номере:Вопросов: 3, Ответов: 6


Вопрос № 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.
Помогите пожалуйста. Может ктото стыкался с такой задачей, может нужно воспользоваться другим компонентом или експортировать как-то иначе? Код для експорта привожу ниже. С уважением Ю.Фадеев.

Приложение:

Отправлен: 12.07.2007, 09:43
Вопрос задал: Фадеев Юрий (статус: 2-ой класс)
Всего ответов: 1
Мини-форум вопроса >>> (сообщений: 15)

Отвечает: Shveps
Здравствуйте, Фадеев Юрий!
По моемому, тут поле Numeric тут только ограничивается семизначностью, начиная с конца строки числа.
---------
Пиво ф топку !!! Водку Тоже !!!
Ответ отправил: Shveps (статус: 6-ой класс)
Ответ отправлен: 12.07.2007, 11:17


Отправить вопрос экспертам этой рассылки

Приложение (если необходимо):

* Код программы, выдержки из закона и т.п. дополнение к вопросу.
Эта информация будет отображена в аналогичном окне как есть.

Обратите внимание!
Вопрос будет отправлен всем экспертам данной рассылки!

Для того, чтобы отправить вопрос выбранным экспертам этой рассылки или
экспертам другой рассылки портала RusFAQ.ru, зайдите непосредственно на RusFAQ.ru.


Форма НЕ работает в почтовых программах The BAT! и MS Outlook (кроме версии 2003+)!
Чтобы отправить вопрос, откройте это письмо в браузере или зайдите на сайт RusFAQ.ru.


© 2001-2007, Портал RusFAQ.ru, Россия, Москва.
Авторское право: ООО "Мастер-Эксперт Про"
Email: support@rusfaq.ru, тел.: +7 (926) 535-23-31
Хостинг: "Московский хостер"
Поддержка: "Московский дизайнер"
Авторские права | Реклама на портале
Версия системы: 4.53 beta от 09.07.2007
Яндекс Rambler's Top100
RusFAQ.ru | MosHoster.ru | MosDesigner.ru | RusIRC.ru
Kalashnikoff.ru | RadioLeader.ru | RusFUCK.ru

В избранное