![]() |
|
|
Регистрация Восстановить пароль |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
![]() |
|
|
Опции темы | Поиск в этой теме |
![]() |
#1 |
Пользователь
Регистрация: 17.02.2008
Сообщений: 74
|
![]()
Здравствуйте.
В базе данных InterBase 7 созданы хранимые процедуры select, insert, delete,refreshдля каждой таблицы. Как можно их использовать в приложении (Delphi7), т.е. передвать им параметры, запускать и т.д.? |
![]() |
![]() |
![]() |
#3 |
Пользователь
Регистрация: 17.02.2008
Сообщений: 74
|
![]()
Что-то типа этого?
Код:
|
![]() |
![]() |
![]() |
#4 |
SQL-коддинг
Участник клуба
Регистрация: 16.01.2009
Сообщений: 1,192
|
![]()
имхо сначала препаре, потом подстановка параметров, потом экзек
|
![]() |
![]() |
![]() |
#5 | |
Пользователь
Регистрация: 17.02.2008
Сообщений: 74
|
![]()
Я думаю, сначала подстановка параметров, а затем prepere.
Как я понял (читая ответы на форуме) prepare запрашивает на сервере возможность выполнения запроса с данными параметрами. Возник другой вопрос: Почему не сработал триггер в БД? Я передал STRTYPE_ID = 0 и при последующем просмотре НД этот "0" появился в ключевом поле, что в принципе не должно быть (на поле стоит триггер Before Insert). Цитата:
Последний раз редактировалось Andre1723; 01.06.2009 в 21:16. Причина: дополнение |
|
![]() |
![]() |
![]() |
#6 | ||
Пользователь
Регистрация: 17.02.2008
Сообщений: 74
|
![]()
УПС
Цитата:
Цитата:
|
||
![]() |
![]() |
![]() |
#7 |
SQL-коддинг
Участник клуба
Регистрация: 16.01.2009
Сообщений: 1,192
|
![]() |
![]() |
![]() |
![]() |
#8 |
Пользователь
Регистрация: 17.02.2008
Сообщений: 74
|
![]()
Для создания БД и всех остальных прибамбасов к ней (в том числе генераторы и триггеры) использовался
IB&FB Development Studio. Код:
Код:
|
![]() |
![]() |
![]() |
#9 |
SQL-коддинг
Участник клуба
Регистрация: 16.01.2009
Сообщений: 1,192
|
![]()
все верно
вся прелесть программ и в том числе триггеров, что они работают так как в них написано ты передаешь при вставке в поле значение 0 - оно же не нулл, поэтому ветка по условию не срабатывает отсюда 3 выхода: 1) передавать на инсерт нулл (если получится) 2) ничего в это поле не передавать и тогда будет считаться что передали нулл 3) прописать подстановку значения в это поле при инсерте без условия, т.е. всегда З.Ы.: открою секрет - скрипты можно писать хоть в нотпаде (рекомендую Notepad++), а накатывать с помощью тулзы IBEScript; еще могу порекомендовать IBExpert (бесплатен для рос.разработчиков) Последний раз редактировалось soleil@mmc; 02.06.2009 в 11:29. |
![]() |
![]() |
![]() |
#10 |
Пользователь
Регистрация: 17.02.2008
Сообщений: 74
|
![]()
Спасибо. Воспользовался способом №3, первый не получился, а на второй ругается, что поле не должно быть пустым.
|
![]() |
![]() |
![]() |
|
![]() |
||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Работа с хранимой процедурой | MargoNik | БД в Delphi | 13 | 14.05.2009 20:53 |
Выполнение команд | Vovilnik | Свободное общение | 14 | 06.05.2009 19:22 |
Выполнение функции | nikleb | JavaScript, Ajax | 7 | 10.08.2008 01:49 |
Выполнение хранимой процедуры с output параметром | Иванчо | БД в Delphi | 5 | 26.10.2007 14:59 |
проблему возможно решить с помощью хранимой процедуры на SQL? | yulia | БД в Delphi | 8 | 24.05.2007 20:25 |