Главная страница
    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.013 c
15-1139918164
people
2006-02-14 14:56
2006.03.12
Загрузка linux


15-1139936989
PARUS
2006-02-14 20:09
2006.03.12
Загрузка...


15-1140241586
Crack
2006-02-18 08:46
2006.03.12
Добрый вечер...


2-1140802639
13
2006-02-24 20:37
2006.03.12
Редактор иконок


6-1132240215
Sasha73
2005-11-17 18:10
2006.03.12
Как создать "Входящие подключения" без пользователя?





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