IPB
ЛогинПароль:

> Внимание!

1. Пользуйтесь тегами кода. - [code] ... [/code]
2. Точно указывайте язык, название и версию компилятора (интерпретатора).
3. Название темы должно быть информативным.
В описании темы указываем язык!!!

Наладить общение поможет, если вы подпишитесь по почте на новые темы в этом форуме.

> Процедура, возвращающая набор значений, C++ Builder
сообщение
Сообщение #1


Профи
****

Группа: Пользователи
Сообщений: 920
Пол: Женский
Реальное имя: Марина

Репутация: -  2  +


В базе (на IBExpert) есть хранимая процедура:
Код

ALTER PROCEDURE MED_ACT_AND_SPEC (
    code_act integer)
returns (
    code_spec integer)
as
begin
for
    select "MED_ACT_and_SPEC".code_spec
    from "MED_ACT_and_SPEC"
    where "MED_ACT_and_SPEC".code_act=:code_act
    into :code_spec
do
  suspend;
end

которая возвращает набор из числовых значений..
В Builder по нажатию кнопки вот такой обработчик:

IBStPrMedActSp->ParamByName("CODE_ACT")->AsInteger=codeact;
IBStPrMedActSp->ExecProc();
int i=IBStPrMedActSp->ParamByName("CODE_SPEC")->AsInteger; //здесь хочу добраться до выходных //параметров функции...но так, как есть - я получаю только первое значение...
//а как получить всё, что возвращает процедура, объясните пожалуйста...!


 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
 
 Ответить  Открыть новую тему 
Ответов
сообщение
Сообщение #2


Гость






Лучше записывать результаты в vector, тогда твоя задача сведется к тому, чтобы сгенерировать случайное число в интервале от 0 до количества элементов в векторе:

	std::srand(std::time(0));
std::vector<int> myVector;

// ... Заполнение вектора данными ...

int value = myVector[ rand() % myVector.size() ];

 К началу страницы 
+ Ответить 
сообщение
Сообщение #3


Профи
****

Группа: Пользователи
Сообщений: 920
Пол: Женский
Реальное имя: Марина

Репутация: -  2  +


Цитата(volvo @ 25.12.2008 9:52) *

Лучше записывать результаты в vector, тогда твоя задача сведется к тому, чтобы сгенерировать случайное число в интервале от 0 до количества элементов в векторе:

	std::srand(std::time(0));
std::vector<int> myVector;

// ... Заполнение вектора данными ...



Не поняла, как этот вектор заполнять...
Вот массив y будет содержать те значения, которые мне нужны для последующего выбора..

IBQuery2->Open();
int y[100];
int j=0;
for(IBQuery2->First(); !IBQuery2->Eof ; IBQuery2->Next()) {
y[j] = IBQuery2->Fields->FieldByName("CODE_SPEC")->AsInteger;
j++;
}


Объясните пожалуйста, КАК именно в этот вектор записать?
И ещё, Builder ругается на строки

std::srand(std::time(0));
std::vector<int> myVector;



Сообщение отредактировано: 18192123 -
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 

Сообщений в этой теме
18192123   Процедура, возвращающая набор значений   21.12.2008 22:39
volvo   Обычно (по крайней мере при использовании TADOStor…   22.12.2008 2:52
18192123   Обычно (по крайней мере при использовании TADOSto…   22.12.2008 4:45
volvo   Итого, что имеем: у тебя есть хранимая процедура,…   22.12.2008 18:28
18192123   Пусть свой набор значений я получила...Записала ег…   25.12.2008 9:01
volvo   Лучше записывать результаты в vector, тогда твоя з…   25.12.2008 13:52
Гость   Лучше записывать результаты в vector, тогда твоя …   25.12.2008 21:07
18192123   а если результаты, которые нужно будет записывать…   25.12.2008 21:07
18192123   Лучше записывать результаты в vector, тогда твоя …   26.12.2008 1:36
volvo   А какая разница, что у тебя хранится в векторе, не…   25.12.2008 22:24
volvo   #include <vector> присутствует? (это по по…   26.12.2008 1:48
18192123   А нужно ли очищать этот вектор, а то у меня в нём …   26.12.2008 2:55
volvo   Если тебе больше не нужны значения, хранящиеся в в…   26.12.2008 3:04


 Ответить  Открыть новую тему 
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 





- Текстовая версия 11.09.2025 21:09
500Gb HDD, 6Gb RAM, 2 Cores, 7 EUR в месяц — такие хостинги правда бывают
Связь с администрацией: bu_gen в домене octagram.name