Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2008.04.20;
Скачать: CL | DM;

Вниз

Пересчет количества строк в таблице   Найти похожие ветки 

 
Uno-84   (2008-03-28 09:16) [0]

Здравствуйте! Подскажите пожалуйста! Я делаю SQL запрос на пересчет количества строк в таблице, мне нужно полученное значение задать как параметр, каким образом это сделать вот код:

with DataModule1.IBQShared do begin
         SQL.Clear;
         SQL.Add("select count(MESSAGE_ID) from MESSAGE_EXT where    MESSAGE_RECIPIENTS_NAMES = :MESSAGE_RECIPIENTS_NAMES");
         ParamByName("MESSAGE_RECIPIENTS_NAMES").AsString := USER_NAME_TCS;
         j := FieldByName("Count").AsInteger;
         Open;

FildByName - не проходит.
Заранее спасибо!


 
Matveih1 ©   (2008-03-28 09:19) [1]

Выполни сначала Open, а потом присваивай полученное значение переменной


 
Sergey13 ©   (2008-03-28 09:23) [2]

> FildByName - не проходит.

Почему? Подходит прекрасно.

with DataModule1.IBQShared do begin
        SQL.Text:="select count(MESSAGE_ID) as Field_Count from MESSAGE_EXT where    MESSAGE_RECIPIENTS_NAMES = :MESSAGE_RECIPIENTS_NAMES";
        ParamByName("MESSAGE_RECIPIENTS_NAMES").AsString := USER_NAME_TCS;
        Open;
        j := FieldByName("Field_Count").AsInteger;


1. Именование агрегатных полей желательно делать явно. As возможно лишнее - зависит от субд.
2. Сначала открыть датасет, потом прочитать значение.


 
Сергей М. ©   (2008-03-28 09:23) [3]


> FildByName - не проходит.


Конечно не пройдет, count - это же не имя поля.

select count(MESSAGE_ID) RecCount from MESSAGE_EXT where ..
..
j := FieldByName("RecCount").AsInteger


 
Uno-84   (2008-03-28 09:43) [4]

Спасибо большое! Помогло!


 
Ega23 ©   (2008-03-28 09:50) [5]


> FildByName - не проходит.
> Заранее спасибо!


В твоём случае можно сделать j:=Fileds[0].AsInteger;



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

Текущий архив: 2008.04.20;
Скачать: CL | DM;

Наверх




Память: 0.48 MB
Время: 0.018 c
2-1206435144
lead-in
2008-03-25 11:52
2008.04.20
количество процессов


15-1204729774
Галинка
2008-03-05 18:09
2008.04.20
Кто что знает про DB2


2-1206373338
art36
2008-03-24 18:42
2008.04.20
Что использовать вместо RECORD?


3-1195913561
Abadonne
2007-11-24 17:12
2008.04.20
Data provider or other service returned an E_FAIL status


2-1206437419
Armond
2008-03-25 12:30
2008.04.20
MS SQL