powered by simpleCommunicator - 2.0.60     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Delphi [игнор отключен] [закрыт для гостей] / TADOStoredProc
11 сообщений из 11, страница 1 из 1
TADOStoredProc
    #32344884
guesttttttttt
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Всем привет.
Такая проблема:
есть ХР в MSSQL7, где вставляется новая запись в таблицу с ключевым полем типа Identity, потом в параметр output записывается @@Identity. В Query Analyzer'е все нормально, выходит параметр. А вот в Delphi7 AdoStoredProc выводит (с помощью ParamValues) Null вместо числа.
Кто нить сможет помочь?
...
Рейтинг: 0 / 0
TADOStoredProc
    #32344918
pkarklin
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Я бы первым делом посмотрел профайлером как идет вызов хп. Доисывается ли OUTPUT для соответсвующего параметра. И затем посмотреть тип параметра в компоненте.
...
Рейтинг: 0 / 0
TADOStoredProc
    #32344994
guesttttttttt
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
тип параметра - InputOutput. менял на Output - непомогает
...
Рейтинг: 0 / 0
TADOStoredProc
    #32345002
pkarklin
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
А что профайлер говорит?
...
Рейтинг: 0 / 0
TADOStoredProc
    #32345065
pkarklin
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
А процедурку можно увидеть?
...
Рейтинг: 0 / 0
TADOStoredProc
    #32345627
guesttttttttt
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Допустим так:
CREATE PROCEDURE [sp_insert_Organization_1]
(@Org_FullName_1 [varchar](150),
@Org_ShortName_2 [varchar](150),
@num [int] OUTPUT)

AS INSERT INTO [Keramex].[dbo].[Organization]
( [Org_FullName],
[Org_ShortName])

VALUES
( @Org_FullName_1,
@Org_ShortName_2)

SET @num = @@IDENTITY


ADOStoredProc1.Parameters.ParamValues['@Org_FullName_1']:= 'Org_FullName_1';
ADOStoredProc1.Parameters.ParamValues['@Org_ShortName_2']:= 'Org_ShortName_2';
ADOStoredProc1.ExecProc;
Label1.Caption:= ADOStoredProc1.Parameters.ParamValues['@num'];


Может я неправильно использую праметр в Delphi?
...
Рейтинг: 0 / 0
TADOStoredProc
    #32345642
oleg_e
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Вроде - Label1.Caption:= ADOStoredProc1.Parameters.ParamValues[0].AsString;
...
Рейтинг: 0 / 0
TADOStoredProc
    #32345768
Фотография JibSkeart
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ADOStoredProc1.Parameters.ParambyName('@Org_FullName_1').Value:= 'Org_FullName_1';
ADOStoredProc1.Parameters.ParamByname('@Org_ShortName_2').Value:= 'Org_ShortName_2';
ADOStoredProc1.ExecProc;
Label1.Caption:= ADOStoredProc1.Parameters.ParamByName('@num').Value;
_____________
...
Рейтинг: 0 / 0
TADOStoredProc
    #32345772
Фотография JibSkeart
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
или в TadoStoredProc
нету такого ParamByName ???

странно не помню уже
_____________
...
Рейтинг: 0 / 0
TADOStoredProc
    #32346125
guesttttttttt
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Всем спасибо за отклик.
я нашел ошибку.
все дело в MSSQL7. там оказывается функция @@IDENTITY не работает (возвращает Null), если к таблице привязан тригер. Проверял в Query Analyzere до того как тригер привязал. а я грешным делом на любимый Delphi покосился
...
Рейтинг: 0 / 0
TADOStoredProc
    #32346188
pkarklin
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Вот же ж, а. Ведь с самого начала хотел спросить про наличие триггера со вставкой в другую таблицу. :-( Но ведь ты же сказал, что
авторВ Query Analyzer'е все нормально, выходит параметр

что и смутило.
...
Рейтинг: 0 / 0
11 сообщений из 11, страница 1 из 1
Форумы / Delphi [игнор отключен] [закрыт для гостей] / TADOStoredProc
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]