Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / Delphi [игнор отключен] [закрыт для гостей] / TADOStoredProc / 11 сообщений из 11, страница 1 из 1
05.12.2003, 14:34
    #32344884
guesttttttttt
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
TADOStoredProc
Всем привет.
Такая проблема:
есть ХР в MSSQL7, где вставляется новая запись в таблицу с ключевым полем типа Identity, потом в параметр output записывается @@Identity. В Query Analyzer'е все нормально, выходит параметр. А вот в Delphi7 AdoStoredProc выводит (с помощью ParamValues) Null вместо числа.
Кто нить сможет помочь?
...
Рейтинг: 0 / 0
05.12.2003, 14:47
    #32344918
pkarklin
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
TADOStoredProc
Я бы первым делом посмотрел профайлером как идет вызов хп. Доисывается ли OUTPUT для соответсвующего параметра. И затем посмотреть тип параметра в компоненте.
...
Рейтинг: 0 / 0
05.12.2003, 15:17
    #32344994
guesttttttttt
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
TADOStoredProc
тип параметра - InputOutput. менял на Output - непомогает
...
Рейтинг: 0 / 0
05.12.2003, 15:21
    #32345002
pkarklin
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
TADOStoredProc
А что профайлер говорит?
...
Рейтинг: 0 / 0
05.12.2003, 15:47
    #32345065
pkarklin
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
TADOStoredProc
А процедурку можно увидеть?
...
Рейтинг: 0 / 0
06.12.2003, 17:39
    #32345627
guesttttttttt
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
TADOStoredProc
Допустим так:
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
06.12.2003, 18:20
    #32345642
oleg_e
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
TADOStoredProc
Вроде - Label1.Caption:= ADOStoredProc1.Parameters.ParamValues[0].AsString;
...
Рейтинг: 0 / 0
07.12.2003, 13:46
    #32345768
JibSkeart
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
TADOStoredProc
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
07.12.2003, 13:47
    #32345772
JibSkeart
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
TADOStoredProc
или в TadoStoredProc
нету такого ParamByName ???

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

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


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