Форум программистов CODEBY.NET Хостинг в Беларуси — Active Technologies

Разработка бизнес сайтов

Нужны клиенты? Тогда сюда быстрее...
X   Сообщение сайта
(Сообщение закроется через 2 секунды)

Здравствуйте, гость ( Вход | Регистрация )




> вызов хранимой процедуры
AnEi
Вставить ник
сообщение 9:06:2008, 07:37
Цитата Ответить 


Новенький
Иконка группы

Группа: Новенький
Сообщений: 12
Регистрация: 22:10:2007
Из: Гродно
Пользователь №: 13 317



Репутация:   0  


в базе есть хранимая процедура
CODE
ALTER PROCEDURE DEC_CREATENAGRUZ_KAF(
K_OTDELKAF INTEGER,
YEARZAJAVKA SMALLINT)
RETURNS (
K_OTDELF INTEGER,
N_OTDELF VARCHAR(80),
K_OTDELKF INTEGER,
N_OTDELKF VARCHAR(80),
NDISC VARCHAR(45),
SHIFR_ALL VARCHAR(100),
N_VOB VARCHAR(5),
SEM_ALL VARCHAR(100),
KLB_ALL INTEGER,
KLP_ALL INTEGER,
CGROUP_ALL INTEGER,
PGROUP_ALL INTEGER,
IGROUP_ALL INTEGER,
L_ALL INTEGER,
P_ALL INTEGER,
LAB_ALL INTEGER,
IND_ALL INTEGER,
KONT_ALL INTEGER,
ZAL_ALL INTEGER,
ZALD_ALL INTEGER,
EKZ_ALL INTEGER,
DIP_ALL INTEGER,
DR_ALL INTEGER,
KDZAL NUMERIC(15,2),
KZAL NUMERIC(15,2),
KEKZ NUMERIC(15,2),
KKONS NUMERIC(15,2),
KKOND NUMERIC(15,2),
KKONZ NUMERIC(15,2),
KKPR1_6 NUMERIC(15,2),
KKPR7_20 NUMERIC(15,2),
SROK NUMERIC(15,2))
AS
begin
k_otdelkf=k_otdelkaf;
select n_otdel from xotdel where k_otdel=:k_otdelkaf into :n_otdelkf;
For Select k_otdel, n_otdel
from xotdelshtat_fakult(cast('01.09.'||cast(:yearzajavka as varchar(4))as Date))
where kv_otdel=2
into :k_otdelf, :n_otdelf
do begin
For Select NDISC, SHIFR_ALL, N_VOB, SEM_ALL, KLB_ALL, KLP_ALL, CGROUP_ALL,
PGROUP_ALL, IGROUP_ALL, L_ALL, P_ALL, LAB_ALL, IND_ALL, KONT_ALL,
ZAL_ALL, ZALD_ALL, EKZ_ALL, DIP_ALL, DR_ALL, KDZAL, KZAL, KEKZ,
KKONS, KKOND, KKONZ, KKPR1_6, KKPR7_20, SROK
FROM DEC_CREATENAGRUZ(:k_otdelf, :k_otdelkaf, :yearzajavka)
into :NDISC, :SHIFR_ALL, :N_VOB, :SEM_ALL, :KLB_ALL, :KLP_ALL, :CGROUP_ALL,
:PGROUP_ALL, :IGROUP_ALL, :L_ALL, :P_ALL, :LAB_ALL, :IND_ALL, :KONT_ALL,
:ZAL_ALL, :ZALD_ALL, :EKZ_ALL, :DIP_ALL, :DR_ALL, :KDZAL, :KZAL, :KEKZ,
:KKONS, :KKOND, :KKONZ, :KKPR1_6, :KKPR7_20, :SROK
do begin
suspend;
end
end
end
^


она возвращает в out-параметры результаты несколько раз, в итоге получается таблица. подскажите, как ее правильно вызвать. пишу на языке C#
Подняться вверх 
 
Сообщение #1
 
Новая тема 
Ответов (1 - 2)
sax_ol
Вставить ник
сообщение 9:06:2008, 08:12
Цитата Ответить 


==============
Иконка группы

Группа: Модеры
Сообщений: 2 187
Регистрация: 11:01:2007
Пользователь №: 8 750



Репутация:   29  


Через какой провайдер работаете?
Подняться вверх 
 
Сообщение #2
pdp
Вставить ник
сообщение 10:06:2008, 07:43
Цитата Ответить 


Новенький
Иконка группы

Группа: Новенький
Сообщений: 3
Регистрация: 3:04:2008
Пользователь №: 16 363



Репутация:   0  


из синтаксиса мне кажется что это процедура для серверов Firebird/InterBase
ее можно вызвать через провайдер Odbc следующим образом:
CODE

public DataSet GetDataSetFromDEC_CREATENAGRUZ_KAF()
{
DataSet ds = new DataSet();

//
string connStrSaoz = "Dsn=DatabaseDNS;Driver={Firebird/InterBase® driver};dbname=10.13.2.25:D:\ourwork\Database\DatabaseName.gdb;charset=NONE;uid=sysdba; Password=masterkey;";

OdbcConnection con = new OdbcConnection(connStrSaoz);

OdbcDataAdapter da = new OdbcDataAdapter("select * from DEC_CREATENAGRUZ_KAF", con);
da.SelectCommand.CommandType = CommandType.Text;

// Fill the DataSet.

try
{
con.Open();
da.Fill(ds);
}
catch (Exception)
{
throw new ApplicationException("Data error.");
}
finally
{
if (con.State == ConnectionState.Open)
con.Close();
}
return ds;
}
Подняться вверх 
 
Сообщение #3


Быстрый ответ  Ответить  Новая тема 

> Быстрый ответ
Полужирный
Курсив
Подчеркнутый
Вставить изображение
Смайлики
Цитата
Код
 
 Отправлять уведомления об ответах на e-mail |  Включить смайлики |  Добавить подпись |  AJAX?
   

 

RSS Текстовая версия Сейчас: 7:10:2008 - 10:19

с нами можно связаться по:
телефону: +375-(29)-632-60-67
e-mail:info@codeby.net