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

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

Вернуться   Форум программистов > C/C++ программирование > Общие вопросы C/C++
Регистрация

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 16.01.2011, 22:56   #1
wert12
 
Регистрация: 16.01.2011
Сообщений: 6
По умолчанию

как правильно вывести результат процедуры.я - новичок, у меня есть процедура на ms sql :
Код:
CREATE proc PoiskPac
@lname varchar(20),@imea varchar(20),@otcestvo varchar(20),@idPacient int output
as
if exists(select* from pacient where lname=@lname and imea=@imea and otcestvo=@otcestvo)
set @idPacient=(select idPacient from pacient
where lname=@lname and imea=@imea and otcestvo=@otcestvo)
else
set @idPacient=0
поиск id пациента по ФИО.
на форме есть storedproc, связанное с базой.
по событию написан такой код:
Код:
void __fastcall TForm1::Button2Click(TObject *Sender)
{
POiskPac->Close();
POiskPac->Parameters->ParamByName("@lname")->Value=Edit1->Text;
POiskPac->Parameters->ParamByName("@imea")->Value=Edit2->Text;
POiskPac->Parameters->ParamByName("@otcestvo")->Value=Edit2->Text;
Edit4->Text=IntToStr(POiskPac->Parameters->ParamByName("@idPacient"));
POiskPac->ExecProc();
}
помогите, очень нужно.не могу понять ошибку.(((

помогите кто-нибудь.очень нужно

Последний раз редактировалось Stilet; 17.01.2011 в 16:09.
wert12 вне форума Ответить с цитированием
Старый 17.01.2011, 16:12   #2
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

ИМХО к процедуре нужно дописать
Код:
RETURN @idPacient
А в твоем коде
Код:
int i=POiskPac->ExecProc();
т.е. ExecProc должна вернуть этот результ.
Но это только догадки...
I'm learning to live...
Stilet вне форума Ответить с цитированием
Старый 18.01.2011, 00:33   #3
wert12
 
Регистрация: 16.01.2011
Сообщений: 6
По умолчанию

Спасибо большое, щас испробую. очень благодарна,что ответили!!!!
wert12 вне форума Ответить с цитированием
Старый 18.01.2011, 00:51   #4
wert12
 
Регистрация: 16.01.2011
Сообщений: 6
По умолчанию

ругается на int i=POiskPac->ExecProc();
[C++ Error] rapr.cpp(57): E2468 Value of type void is not allowed
stilet, помогите пожалуйста!!!!
wert12 вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
StoredProc или Query? rmise БД в Delphi 2 17.01.2011 14:38