Этот баннер — требование Роскомнадзора для исполнения 152 ФЗ.
«На сайте осуществляется обработка файлов cookie, необходимых для работы сайта, а также для анализа использования сайта и улучшения предоставляемых сервисов с использованием метрической программы Яндекс.Метрика. Продолжая использовать сайт, вы даёте согласие с использованием данных технологий».
Политика конфиденциальности

Новые сообщения [новые:0]
Дайджест
Горячие темы
Избранное [новые:0]
Форумы
Пользователи
Статистика
Статистика нагрузки
Мод. лог
Поиск
|
|
14.01.2002, 19:54
|
|||
|---|---|---|---|
|
|||
Очередной глупый вопрос теперь о переменных |
|||
|
#18+
Дико извиняюсь за очевидные для многих но непонятные для меня вопросы. Но не мог бы кто пишущий на Delphi обьяснить как из SQL передавать параметры, переменные в Delphi если это не рекордсет а просто переменная. Довольно странно но мои попытки приводят к краху системы, Win2000 вешается "намертво" выдав сначала сообщение о обращениии к памяти $000000 (раз 50) и переполнении стека. Если можно коротенький пример передачи/получения. Спасибо заранее благодетелю который мне это обьяснит. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
15.01.2002, 09:15
|
|||
|---|---|---|---|
Очередной глупый вопрос теперь о переменных |
|||
|
#18+
Вопрос поставлен неполно. Во первых как организован доступ к данным - через BDE или ADO ?. Насчет откуда их передавать я подозреваю, что с хранимой процедуры. Тут еще один вопросец - она набор данных возращает или нет ? Если нет, то все просто: параметры процедуры делаете OUT. Если возращает, то для ADO тоже самое. Единственная загвоздка - если через BDE работать, то насколько помню там TStoredProc параметры обратно не считывает, если процедура еще и набор данных возращает. Хотя давно это было - может уже в Delphi 5 и возращает (в чем я лично сомневаюсь, учитывая, что SQL Link до сих пор в BDE от SQL 6.5) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
15.01.2002, 18:21
|
|||
|---|---|---|---|
|
|||
Очередной глупый вопрос теперь о переменных |
|||
|
#18+
Говорят, правильно заданный вопрос содержит половину ответа. Что поделаеш, я даже половины не знаю. Значит дополнения к вопросу. Использую 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). ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
16.01.2002, 07:28
|
|||
|---|---|---|---|
|
|||
Очередной глупый вопрос теперь о переменных |
|||
|
#18+
Для этого запроса получить значение можно только через TADODataSet, считав его из значения поля. У тебя полноценный рекордсет, забудь о выходных параметрах. Выходные параметры только для хранимых процедур. В последней строке запроса - синтаксическая ошибка ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
16.01.2002, 07:31
|
|||
|---|---|---|---|
|
|||
Очередной глупый вопрос теперь о переменных |
|||
|
#18+
И скорее всего, будет пустой рекордсет, пока не поставишь вначале SET NOCOUNT ON ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
16.01.2002, 09:10
|
|||
|---|---|---|---|
Очередной глупый вопрос теперь о переменных |
|||
|
#18+
Стнтаксической ошибки тут нет и 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. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
16.01.2002, 09:46
|
|||
|---|---|---|---|
|
|||
Очередной глупый вопрос теперь о переменных |
|||
|
#18+
Да, действительно. Я ошибься. Съедаю шляпу. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
16.01.2002, 18:01
|
|||
|---|---|---|---|
|
|||
Очередной глупый вопрос теперь о переменных |
|||
|
#18+
Читал пэйджер .... много думал. Люди спасибо за ответы! Благодаря вам я может быть даже допишу программу (и может быть она будет работать!. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
16.01.2002, 19:30
|
|||
|---|---|---|---|
|
|||
Очередной глупый вопрос теперь о переменных |
|||
|
#18+
А TADOCommand осознанно используется вместо TADOQuery? Нет по глупости. Гдето читал что Query устарел и надо старатся использовать TADOCommand и TADODataSet. А кстати в TADODataSet и TADOQuery действительно возвращает непустой датасет просто в голову не пришло попробовать. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|

start [/forum/topic.php?fid=46&mobile=1&tid=1824306]: |
0ms |
get settings: |
9ms |
get forum list: |
17ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
97ms |
get topic data: |
11ms |
get forum data: |
3ms |
get page messages: |
43ms |
get tp. blocked users: |
2ms |
| others: | 251ms |
| total: | 441ms |

| 0 / 0 |
