31.03.2020, 22:26 [+3 UTC]
в нашей команде: 4 317 чел. | участники онлайн: 6 (рекорд: 21)

:: РЕГИСТРАЦИЯ

задать вопрос

все разделы

правила

новости

участники

доска почёта

форум

блоги

поиск

статистика

наш журнал

наши встречи

наша галерея

отзывы о нас

поддержка

руководство

Версия системы:
7.83 (12.03.2020)
JS-v.1.35 | CSS-v.3.37

Общие новости:
28.03.2020, 20:29

Форум:
28.03.2020, 21:05

Последний вопрос:
31.03.2020, 15:56
Всего: 151887

Последний ответ:
31.03.2020, 19:49
Всего: 259909

Последняя рассылка:
31.03.2020, 03:15

Писем в очереди:
0

Мы в соцсетях:

Наша кнопка:

RFpro.ru - здесь вам помогут!

Отзывы о нас:
07.02.2019, 15:10 »
dar777
Это самое лучшее решение! [вопрос № 194574, ответ № 277404]
18.04.2012, 17:38 »
Arman Muratuly
Думаю всё таки второй рисунок, для первого рисунка наверно было бы -30°. Спасибо, очень подробно и с картинкой. [вопрос № 185854, ответ № 270574]
Наши встречи:
ID: 836

РАЗДЕЛ • Pascal / Delphi / Lazarus

Создание программ на языках Pascal, Delphi и Lazarus.

[администратор рассылки: Зенченко Константин Николаевич (Старший модератор)]

Лучшие эксперты в этом разделе

Зенченко Константин Николаевич
Статус: Старший модератор
Рейтинг: 114
Асмик Гаряка
Статус: Советник
Рейтинг: 82
Лысков Игорь Витальевич
Статус: Старший модератор
Рейтинг: 0

Перейти к консультации №:
 

Консультация онлайн # 145393
Раздел: • Pascal / Delphi / Lazarus
Автор вопроса: Ladami
Отправлена: 29.09.2008, 11:01
Поступило ответов: 0

Таблица WaybillDesc: RecId, RecIdOrder, quantity, date
Есть функция: получает RecIdOrder, возвращает сумму всех (его, т.е. RecIdOrder, примечание переводчика) количеств (видимо SUM(quantity), примечание переводчика).

CREATE FUNCTION [dbo].[mfGetSumForWorkOrder] (
	@recidWO uniqueidentifier	
)  
RETURNS float AS  
BEGIN 
	declare @quan float

	SET @quan = (SELECT TOP 1 sum (ItemQuan) from WaybillDesc
	where RecIdWorkOrder = @recidWO)
	return @quan
END


Вызываю из Delphi:
DataSource1.DataSet.FieldByName('ItemQuan').AsVariant :=
			 DM.Conn.Execute(
			 'select dbo.mfGetSumForWorkOrder(OrderId)');


Выдаёт ошибку.
Спасибо заранее.

Приложение:

Последнее редактирование 29.09.2008, 11:27 Вадим Исаев ака sir Henry (Мастер-Эксперт)

Состояние: Консультация закрыта

Oтветов пока не поступило.

Мини-форум консультации № 145393
HESICbITb

# 1

= общий = | 29.09.2008, 12:55

а что это у вас за хитрый код

DataSource1.DataSet.FieldByName('ItemQuan').AsVariant :=
			 DM.Conn.Execute(
			 'select dbo.mfGetSumForWorkOrder(OrderId)'); 


что он по вашему делает ?

неизвестный

# 2

= общий = | 29.09.2008, 15:54

vopros konechno intersnii!!!!!!!!!!

visivaet func db i posilaet tuda parametr, po idee
no tak on konachno ne zarabotaet
ya uga nasla gde oshibka, spasibo vse ravno

do svisanie

HESICbITb

# 3

= общий = | 29.09.2008, 15:58

интересно было бы знать где ошибка

Виктор Пырлик

# 4

= общий = | 29.09.2008, 16:00

Вы пытаетесь совместить логику сервера (СУБД) и программирование. Это разное по сути вещи.
Функция на сервере выполняет что-то, Вы же пытаетесь выполнить её на сервере и потом ждете результат - а где он должен быть?
Метод Execute, дословно "выполнить", не возвращает набор данных.
В общем, ничего не понятно. И зачем делать top в запросе функции, если и так возвращается 1 значение.

Если хотите получать значение — используйте, например, TADOQuery с запросом:
SELECT SUM(ItemQuan) AS SUM_Quan from WaybillDesc
WHERE RecIdWorkOrder = :recidWO

Тогда, можно вызвать TADOQuery, передать в параметр recidWO значение и открыть набор, например Active := true; После этого получить сумму FieldByName('SUM_Quan').AsFloat
DataSource1.DataSet.FieldByName('ItemQuan').Value := Query1.FieldByName('SUM_Quan').AsFloat;

Да вариантов много.

 

Возможность оставлять сообщения в мини-форумах консультаций доступна только после входа в систему.
Воспользуйтесь кнопкой входа вверху страницы, если Вы зарегистрированы или пройдите простую процедуру регистрации на Портале.

Яндекс Rambler's Top100

главная страница | поддержка | задать вопрос

Время генерирования страницы: 0.15719 сек.

© 2001-2020, Портал RFPRO.RU, Россия
Калашников О.А.  |  Гладенюк А.Г.
Версия системы: 7.83 от 12.03.2020
Версия JS: 1.35 | Версия CSS: 3.37