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

Вниз

пример TStoredProc   Найти похожие ветки 

 
Destup   (2005-06-07 17:03) [0]

Приветствую всех.

Начальство поставило задачу срочно изучить хранимые процедуры (MS SQL + Delphi 5) исключительно через TStoredProc (т.е. без ADO и TQuery).
И набросало такой план изучения -

1. Создание и вызов ХП.
2. Передать ХП параметр по ссылке (???)
3. Реализовать и использовать ХП возвращающую курсор.
4. ... возвращающую несколько курсоров.

вроде пока всё.

С первым я справился (хоть раньше на Делфи почти не кодил)
А вот со вторым ... это как ?

StoredProc1.Params.ParamByName("@num").Value := 5;

Это я прямо указал что хочу передать в ХП, а как по ссылке ?

Третье ... что такое курсор я смутно представляю (набор данных возвращаемых sql запросом ?)
Ну написал я   StoredProc1.Active := True;
и в DBGrid посыпались данные (курсор ?) через DataSource.
А ... а где мне получить указатель на этот курсор не выводя его в DBGrid ?
А если ХП вернула 2 и более курсоров ?

Весь инет облазил, не нашёл примера.
Помогите кто чем может, желательно маленькими кусочками кода.

Спасибо.
Евгений.


 
Val ©   (2005-06-07 17:05) [1]

Blob тоже через TStoredProc?


 
Danilka ©   (2005-06-07 17:07) [2]


> исключительно через TStoredProc (т.е. без ADO и TQuery).

хм. TStoredProc - это значит через BDE. На мой взгляд, с MSSQL все-таки намного предпочтительнее работать через АДО, чем через БДЕ.
А у АДО есть TADOStoredProc, аналог БДЕ-ного.


 
Destup   (2005-06-07 17:36) [3]

> Blob тоже через TStoredProc?
... даже не знаю, а что это такое :)))

> предпочтительнее работать через АДО, чем через БДЕ.
думаю перейдём на АДО, но не скоро.


 
Destup   (2005-06-07 17:38) [4]

> А у АДО есть TADOStoredProc, аналог БДЕ-ного.
Я думаю, что освоив BDE не сложно перейти на ADO.
Но пока ... даже с первым не выходит


 
Danilka ©   (2005-06-07 21:29) [5]

[4] Destup   (07.06.05 17:38)
Нет никакого смысла сейчас осваивать БДЕ. Во-первых, в БДЕ "заморожена" поддержка MSSQL на уровне версии 6.5 (если не ошибаюсь).
Во-вторых, БДЕ изначально ориентирован на файл-серверные технологии.
А АДО, можно сказать, самая что ни на есть родная технология доступа к MSSQL, все возможности этой СУБД можно использовать работая через АДО.
Вобщем, можно запросто начинать с АДО, причем, статей и книг в тему можно найти в инете просто море.


 
evvcom ©   (2005-06-08 10:47) [6]


> Во-первых, в БДЕ "заморожена" поддержка MSSQL на уровне версии 6.5

Я в давнишние времена работал с MSSQL 6.5 через BDE без проблем, но без блобов, о блобах ничего не скажу.

> 2. Передать ХП параметр по ссылке (???)

Действительно ??? MSSQL может вернуть значение в параметре (см. в параметрах OUTPUT), но после вызова ХП это возвращенное значение все равно придется читать вручную (за исключением некоторых случаев с UpdateSQL). Плюс обрати внимание на GetResults.

> 3. Реализовать и использовать ХП возвращающую курсор

Обычный SELECT без INTO в ХП возвращает курсор.

> 4. ... возвращающую несколько курсоров

Несколько SELECT без INTO в ХП. Есть метод NextRecordSet, но не в TStoredProc :)


 
Desdechado ©   (2005-06-08 10:58) [7]

параметр по ссылке ты не передашь по определению - SQL-сервер работает на другой машине в своем адресном пространстве.
так что только по значению


 
Val ©   (2005-06-08 11:18) [8]

Коллеги, м.б. в данном контексте под параметром по ссылке имеется просто in out параметр? думаю следует уточнить у задающих (преподов/начальства, etc.).



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

Форум: "Базы";
Текущий архив: 2005.07.18;
Скачать: [xml.tar.bz2];

Наверх




Память: 0.46 MB
Время: 0.04 c
14-1119364741
NW
2005-06-21 18:39
2005.07.18
Info Setup


1-1119839772
grant
2005-06-27 06:36
2005.07.18
Подскажите, если кто знает. Как писать на Delphi по КПК например


3-1118048054
Леонид
2005-06-06 12:54
2005.07.18
Сложный SQL запрос


14-1119904045
BigMac
2005-06-28 00:27
2005.07.18
Forex


1-1120334666
Alex-r
2005-07-03 00:04
2005.07.18
Печать на матричный принтер





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