Главная страница
    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.6 MB
Время: 0.04 c
1-15032
AndrewVolkov
2002-12-17 00:41
2003.01.06
---|Ветка была без названия|---


14-15309
Jeka
2002-12-18 11:43
2003.01.06
SystemTray


1-15117
Semyon
2002-12-21 15:14
2003.01.06
Как сделать чтобы фокусом ввода обладало только моё окно?


3-14901
mama
2002-12-07 07:19
2003.01.06
индекс пропадает...


1-15055
vilfred
2002-12-24 14:37
2003.01.06
народ, лыжы уже не едут, как это сделать???





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
Английский Французский Немецкий Итальянский Португальский Русский Испанский