Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2003.01.06;
Скачать: CL | DM;

Вниз

как забрать данные из select, который выполняется в хранимой проц   Найти похожие ветки 

 
DKalinin ©   (2002-12-10 15:13) [0]

есть StoredProc на сервере, в ней в конце выполняется Select

на клиенте есть TStoredProc

открываю ее StoredProc1.Open

подскажите, как забрать из нее значения столбцов по их номеру?
или по названию поля

StoredProc.FieldByName("field").AsString - не работает,
говорит, что нет такого поля, хотя оно точно есть.
FieldCount показывает значение 2 , хотя поле 12


 
DKalinin ©   (2002-12-10 15:42) [1]

неужели нет ни одного способа прочитать, что выдал select внутри процедуры на сервере?

ведь грид их через TStoredProc видит

помогите, пожалуйста


 
asmith   (2002-12-10 15:48) [2]

Использую для получения набора данных из StoredProc TADOQuery - проблем никаких.


 
stone ©   (2002-12-10 15:54) [3]

Я бы сначала выполнил эту процедуру в Query Analyzer, и посмотрел бы что она возвращает, а уж потом выбирал бы компоненты для приложения.


 
Prooksius ©   (2002-12-10 16:05) [4]

2 DKalinin © (10.12.02 15:42)
Лучше использовать TQuery и в её SQL написать select * from MyStoredProc(:Param1,:Param2,...)
Что так критично использовать TStoredProc?


 
DKalinin ©   (2002-12-10 16:08) [5]

делаю так:
Query3.ParamByName("BeginSetDate").AsString:=wwDBDatetimePicker1.Text;
Query3.ParamByName("EndSetDate").AsString:=wwDBDatetimePicker2.Text;
Query3.Open;

говорит, что параметр не найден

в тексте запроса - select * from OtstoyReport (:DateSetBegin, :DateSetEnd)

что я делаю не так?


 
BorisUK ©   (2002-12-10 16:15) [6]

FetchParams
before Open procedure


 
DKalinin ©   (2002-12-10 16:26) [7]

кусочек кода приведи, пожалуйста


 
Fiend ©   (2002-12-10 16:31) [8]

То FetchParams
FetchParams - это для получения значений параметров после выполнения запроса к SyBase или MSSQL.
не путайте чела.

То DKalinin
Query3.ParamByName( "DateSetBegin").AsString:=wwDBDatetimePicker1.Text;
Query3.ParamByName( "DateSetEnd").AsString:=wwDBDatetimePicker2.Text;
Query3.Open;

говорит, что параметр не найден

в тексте запроса - exec OtstoyReport :DateSetBegin, :DateSetEnd


 
Delirium ©   (2002-12-10 16:34) [9]

Для MSSQL существуют всего два пути

insert ... exec ...
select ... from OpenQuery(...)


 
Delirium ©   (2002-12-10 16:36) [10]

Для ADO:

ADOQuery1.SQL.Text:="MyProc MyParam"
ADOQuery1.Open;


 
Hooch ©   (2002-12-10 16:37) [11]

в TadoQury напиши "exec MyProc 10,20" скажи Open и все дела


 
SergSuper   (2002-12-10 17:23) [12]

В начале процедуры set nocount on написано?


 
Fiend ©   (2002-12-10 17:30) [13]

То SergSuper
ну это ваще не от того лечит.


 
SergSuper   (2002-12-10 17:43) [14]

To Fiend
Может и не лечит, но причина может быть в этом.
Если в начале стоит какой-нибудь update, то может выскакивать пустой рекордсет, в котором колонок нет и соответственно поэтому и ругается что не может найти колонку.


 
Fiend ©   (2002-12-10 17:56) [15]

То SergSuper
у него проблема была немного в другом:
во первых он видел рекордсет в гриде, что говорит о том, что он вернулся не пустой. И во вторых, текст на ПАСе у него был не правильный. я показал как исправить.

На основе первого делаем вывод, шо nocount его не спасёт.
Сорри если чем обидел!


 
_Voland   (2002-12-10 19:44) [16]

Я делал в таком случае выполнение процедуры в запросе
т.е. писал в запросе
Exec sp_Adress 1,3,70
и все затем открываешь запрос и работаешь


 
Cheshit ©   (2002-12-13 18:37) [17]

В TStoredProc просто добавь все поля как в TQuery - проработает.
Только если процедура возвращает параметры тогда можеш получить
и пустой рекордсет.



Страницы: 1 вся ветка

Текущий архив: 2003.01.06;
Скачать: CL | DM;

Наверх




Память: 0.5 MB
Время: 0.011 c
1-14998
Вопрошающий
2002-12-24 09:38
2003.01.06
Алгоритм расчета пени


7-15328
Anar
2002-10-16 21:58
2003.01.06
Насчёт клавиатуры


3-14913
Леший
2002-12-13 11:58
2003.01.06
Скажите пожалуйста, можна ли в BDAdministrator прописывать не имя


4-15346
Lexa1900
2002-11-17 21:21
2003.01.06
Как отловить нажатие кнопки?


3-14948
mic_2000
2002-12-13 17:37
2003.01.06
Пересчет данных перед отображением в DBGRID