powered by simpleCommunicator - 2.0.59     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Microsoft SQL Server [игнор отключен] [закрыт для гостей] / Очередной глупый вопрос теперь о переменных
9 сообщений из 9, страница 1 из 1
Очередной глупый вопрос теперь о переменных
    #32020685
Nikolay
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Дико извиняюсь за очевидные для многих но непонятные для меня вопросы. Но не мог бы кто пишущий на Delphi обьяснить как из SQL передавать параметры, переменные в Delphi если это не рекордсет а просто переменная. Довольно странно но мои попытки приводят к краху системы, Win2000 вешается "намертво" выдав сначала сообщение о обращениии к памяти $000000 (раз 50) и переполнении стека. Если можно коротенький пример передачи/получения. Спасибо заранее благодетелю который мне это обьяснит.
...
Рейтинг: 0 / 0
Очередной глупый вопрос теперь о переменных
    #32020705
Фотография ASCRUS
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Вопрос поставлен неполно. Во первых как организован доступ к данным - через BDE или ADO ?. Насчет откуда их передавать я подозреваю, что с хранимой процедуры. Тут еще один вопросец - она набор данных возращает или нет ? Если нет, то все просто: параметры процедуры делаете OUT. Если возращает, то для ADO тоже самое. Единственная загвоздка - если через BDE работать, то насколько помню там TStoredProc параметры обратно не считывает, если процедура еще и набор данных возращает. Хотя давно это было - может уже в Delphi 5 и возращает (в чем я лично сомневаюсь, учитывая, что SQL Link до сих пор в BDE от SQL 6.5)
...
Рейтинг: 0 / 0
Очередной глупый вопрос теперь о переменных
    #32020757
Nikolay
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Говорят, правильно заданный вопрос содержит половину ответа. Что поделаеш, я даже половины не знаю. Значит дополнения к вопросу. Использую ADO, ADOCommand, CommandType=cmdText, CommandText (после всех упрощений но и так не работает) следующий

DECLARE @Num Int
SELECT @Num = Number FROM MyDbf
SELECT @Num AS 'Num'

ADOCommand.Execute возвращает пустой датасет, nil (ошибка с зависанием была от того что я пытался прочитать из него как если бы в CommandText был простой запрос типа SELECT * FROM MyDbf) все что мне надо это выташить наружу (в Delphi) значение @Num. На самом деле хотелось бы еще разобратся в механизме передачи параметров из запроса (внутрь запроса проблем нет :O).
...
Рейтинг: 0 / 0
Очередной глупый вопрос теперь о переменных
    #32020779
Для этого запроса получить значение можно только через TADODataSet, считав его из значения поля. У тебя полноценный рекордсет, забудь о выходных параметрах. Выходные параметры только для хранимых процедур.

В последней строке запроса - синтаксическая ошибка
...
Рейтинг: 0 / 0
Очередной глупый вопрос теперь о переменных
    #32020781
И скорее всего, будет пустой рекордсет, пока не поставишь вначале SET NOCOUNT ON
...
Рейтинг: 0 / 0
Очередной глупый вопрос теперь о переменных
    #32020799
Фотография SergSuper
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Стнтаксической ошибки тут нет и SET NOCOUNT ON в данном случае ничего не меняет - присваивание переменной через SELECT не выдаёт COUNTы.

По идее всё должно работать, во всяком случае через TADOQuery. Может есть какая глупая ошибка - типа выбрана не та база или неправильное имя таблицы?
А TADOCommand осознанно используется вместо TADOQuery?


TADOCommand is most often used for executing data definition language (DDL) SQL commands or to execute a stored procedure that does not return a result set. For SQL statements that return a result set, TADODataSet, TADOQuery, or TADOStoredProc is better suited. The Execute method of TADOCommand is, however, capable of returning a recordset. To use that recordset, however, you will need a separate ADO dataset component.
...
Рейтинг: 0 / 0
Очередной глупый вопрос теперь о переменных
    #32020804
Да, действительно. Я ошибься. Съедаю шляпу.
...
Рейтинг: 0 / 0
Очередной глупый вопрос теперь о переменных
    #32020832
Nikolay
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Читал пэйджер .... много думал. Люди спасибо за ответы! Благодаря вам я может быть даже допишу программу (и может быть она будет работать!.
...
Рейтинг: 0 / 0
Очередной глупый вопрос теперь о переменных
    #32020834
Nikolay
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
А TADOCommand осознанно используется вместо TADOQuery?
Нет по глупости. Гдето читал что Query устарел и надо старатся использовать TADOCommand и TADODataSet. А кстати в TADODataSet и TADOQuery действительно возвращает непустой датасет просто в голову не пришло попробовать.
...
Рейтинг: 0 / 0
9 сообщений из 9, страница 1 из 1
Форумы / Microsoft SQL Server [игнор отключен] [закрыт для гостей] / Очередной глупый вопрос теперь о переменных
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]