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

Вниз

Пощитать сумму.   Найти похожие ветки 

 
Bogdan1024 ©   (2006-02-22 02:22) [0]

В зависимости от того какая запись выбрана в DBGrid1 нужно пощитать сумму заказов из другой таблицы, которая будет отображаться в метке или в TDBEdit. Я пытаюсь использовать TADOQuery. В справке написано что нужно использовать связку TADOQuery+TDataSource+TADOTable. Всё вроде слинковал, добавил ещё TDBGrid чтобі можно было видеть изменения; запрос посылается, но ничего не возвращается. Почему?
ADOQuery1.SQL.Add("SELECT sum(Orders.[Order Amount]) FROM Orders WHERE Orders.[Employee ID] = " + inttostr(p^));


 
ЮЮ ©   (2006-02-22 03:29) [1]

Где находится этот код, как формируется p^. Почему не используется просто целая переменная, а указатель на неё?

qEmployeeOrderAmountSum.SQL.Text :=
 "SELECT sum([Order Amount]) FROM Orders WHERE [Employee ID] = :EmployeeId";
// можно забить в Design-е

в qEmployes.AfterScroll:
 qEmployeeOrderAmountSum.Close;
 qEmployeeOrderAmountSum.Parameters[0].Value :=
    qEmployes.Fields[0].Value;
 qEmployeeOrderAmountSum.Open;


 
Bogdan1024 ©   (2006-02-22 03:59) [2]

Спасибо, уже разобрался - я случайно использовал ExecSQL вместо Open.
А какая разница что использовать - указатель на переменную или саму переменную? Памяти ведь одинаково выделяется и программа обращается с ними одинаково...


 
evvcom ©   (2006-02-22 08:53) [3]


> Памяти ведь одинаково выделяется

Как же одинаково? В 1 случае 4 байта на переменную-указатель + 4 байта на данные Integer, во 2-ом только 4 байта под данные.

> и программа обращается с ними одинаково...

с указателем и с самими данными одинаково? Книжку б какую почитал что ли?


 
msguns ©   (2006-02-22 09:40) [4]

Лес темный.
Надо по каждой строке отображаемого датасета  "пощщитать" что-то в других таблицах ? Для этого обычно используют вычисляемые поля в запросе.

Если же надо актуальное значение, которое получается отдельным запросом "по требованию", то зачем возвращаемую этим запросом единственную запись пихать в какие-то датасорсы и тем более DB-aware контролы ?
Почему нельзя "вытащить" "пощщитанный" агрегат, обратвшись непосредственно к датасету через Fields/FieldByName ?


 
Bogdan1024 ©   (2006-02-22 13:49) [5]

с указателем и с самими данными одинаково?
Спасибо, теперь понял разницу.
Почему нельзя "вытащить" "пощщитанный" агрегат, обратвшись непосредственно к датасету через Fields/FieldByName ?
потому что эта таблица не присутствует в других датасорсах.
Я пытался вернуть нужную таблицу и соответствующую записям таблицы сумму в один датасорс, но он выдаёт "неопознанную ошибку".


 
evvcom ©   (2006-02-22 14:09) [6]


> Я пытался вернуть нужную таблицу и соответствующую записям
> таблицы сумму в один датасорс, но он выдаёт "неопознанную
> ошибку".

Повторю msguns ©   (22.02.06 09:40) [4]:

> Лес темный.

И мухи, и котлеты все в одно слепил и выплюнул. А вы, господа, тут разбирайте состав моего произведения.


 
msguns ©   (2006-02-22 17:46) [7]

>Bogdan1024 ©   (22.02.06 13:49) [5]
>потому что эта таблица не присутствует в других датасорсах

"Датасорсы" предназначены в первую очередь для визуализации датасетов или их фрагметов (полей, записей), полученных, в свою очередь объектами доступа к БД. Такими, как TADOQuery, TADODataSet, TADOTable (сие чудище обло, озороно, стозевно и лайяй). Жмем на квадратике с датасорсом F1 и внимательно читаем.

Для того же, чтобы обратиться непосредственно к самому датасету, ничего, окромя него не нужно. Почитай о "дедушке" всех датасетов TDataSet (в частности об упомянутых в [4] свойствах и "мигом прояснится на доске" (с)

Мухи, котлеты, волосы поварихи в одной тарелке..
Ассорти, короче ;)



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

Форум: "Начинающим";
Текущий архив: 2006.03.12;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.46 MB
Время: 0.011 c
4-1135096574
Volf_555
2005-12-20 19:36
2006.03.12
Как открыть папку в том же окне с помощью ShellExecute???


2-1140539041
Алексей Петухов
2006-02-21 19:24
2006.03.12
FastReport


9-1126068360
Ищущий
2005-09-07 08:46
2006.03.12
экспорт анимации из Blender a


15-1140023986
Ученик чародея
2006-02-15 20:19
2006.03.12
Америка требует отменить торговые льготы, предоставляемые России.


15-1139922163
Styx_
2006-02-14 16:02
2006.03.12
Вот кому Борланд продал Delphi :)





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