Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Базы";
Текущий архив: 2003.01.06;
Скачать: [xml.tar.bz2];

Вниз

как забрать данные из 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;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.48 MB
Время: 0.009 c
3-14932
Sergant
2002-12-13 06:31
2003.01.06
Доступ к Firebird


1-15063
roman_tutov
2002-12-22 18:18
2003.01.06
Thread (будь он неладен)


1-15014
Кирилл
2002-12-16 13:28
2003.01.06
Как получить колличество точек на дюйм для экрана и принтера


14-15243
Феликс
2002-12-13 02:49
2003.01.06
Кличко VS Льюис. Ваше мнение.


3-14958
4x4
2002-12-12 13:32
2003.01.06
Query в Query?





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский