Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Delphi программирование > БД в Delphi
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 06.06.2009, 07:23   #1
Lion-Tiger
Пользователь
 
Регистрация: 25.01.2009
Сообщений: 43
По умолчанию Проблема с хранимой процедурой

Есть база Firebird в ней таблица пипл, с колонками Name и Link
Делаю хранимую процедуру в IBExpert вида:
Код:
begin
  /* Procedure Text */
  delete from people
  where (name=:pname) or (link=:plink) ;
  suspend;
end
в таблице есть поле TOTAL(Name)Null(Link)
потом в дельфи пишу:
Код:
     dm.SPDel_pers.ParamByName('plink').AsString:='xx';
     dm.SPDel_pers.ParamByName('pname').AsString:='TOTAL';
     dm.SPDel_pers.ExecProc;
когда запускаю прогу и процедуру, то все проходит без ошибок, но строка эта не удаляется.
Не знаю почему, может в SQL какие ошибки?
помогите((
Lion-Tiger вне форума Ответить с цитированием
Старый 06.06.2009, 08:49   #2
vovk
!=
Участник клуба
 
Аватар для vovk
 
Регистрация: 08.09.2008
Сообщений: 1,751
По умолчанию

SPDel_pers это какой компонент?
И хотелось бы увидеть и хранимую процедуру и процедуру где вы её применяете в полном виде, и ещё вопрос раз у вас pname везде равно 'TOTAL' то зачем этот параметр вообще?? Хотя у меня есть подозрение что вы хотите в параметр дабавить не значение 'TOTAL' а значение из поля 'TOTAL' текущей записи какойто таблицы
vovk вне форума Ответить с цитированием
Старый 06.06.2009, 11:48   #3
Lion-Tiger
Пользователь
 
Регистрация: 25.01.2009
Сообщений: 43
По умолчанию

SPDel_pers - TIBStoredProc
Хранимая процедура называется Del_Pers
Хранимую и обычную процедуры я привел в 1 посте, и вообще-то Name только в одной строке равен TOTAL
Я хочу УДАЛИТЬ запись, в которой Name="TOTAL"
а смысл хранимой процедуры в том чтобы удалять либо те строки где
Код:
Name=:pname
либо, где
Код:
Link=:plink
которые я процедуре передаю, чего не понятного? =)

Ну или хотя бы покажите как надо удалять, я так попробую.....
============
Получилось удалить через IBQuery, но хранимая процедура так и не работает(((

Последний раз редактировалось Lion-Tiger; 07.06.2009 в 09:01.
Lion-Tiger вне форума Ответить с цитированием
Старый 07.06.2009, 12:32   #4
soleil@mmc
SQL-коддинг
Участник клуба
 
Регистрация: 16.01.2009
Сообщений: 1,192
По умолчанию

если нет гарантий ввода данных в строковое поле в одном и том же регистре, то нужно их все переводить в один регистр, например так
Код:
...
where (upper(name)=upper(:pname)) or (upper(link)=upper(:plink)) ;
не знаю какой функой поднятия регистра вы пользуетесь (родной или из ЮДФ)

и этта
вроде как после делит suspend; делать незачем
soleil@mmc вне форума Ответить с цитированием
Старый 07.06.2009, 15:01   #5
Lion-Tiger
Пользователь
 
Регистрация: 25.01.2009
Сообщений: 43
По умолчанию

мне не нужен верхний/нижний регистры, там и так все удаляет, если тоже самое,но через IBQuery.
а хранимой процедурой - никак
Lion-Tiger вне форума Ответить с цитированием
Старый 08.06.2009, 11:52   #6
soleil@mmc
SQL-коддинг
Участник клуба
 
Регистрация: 16.01.2009
Сообщений: 1,192
По умолчанию

предположу еще один вариант - пока ты тестил удалил все что можно было удалить по твоему условию

З.Ы.: а так - продолжай наблюдения
soleil@mmc вне форума Ответить с цитированием
Старый 08.06.2009, 13:32   #7
Lion-Tiger
Пользователь
 
Регистрация: 25.01.2009
Сообщений: 43
По умолчанию

ладно, буду через Query делать......
Lion-Tiger вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Выполнение хранимой прцедуры? Andre1723 БД в Delphi 14 03.06.2009 11:03
Работа с хранимой процедурой MargoNik БД в Delphi 13 14.05.2009 20:53
Выполнение хранимой процедуры с output параметром Иванчо БД в Delphi 5 26.10.2007 14:59
проблему возможно решить с помощью хранимой процедуры на SQL? yulia БД в Delphi 8 24.05.2007 20:25