Вниз
Скачать: 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 вся ветка

Скачать: CL | DM;



Память: 0.46 MB
Время: 0.012 c
15-1204631991
Kerk
2008-03-04 14:59
2008.04.20
Инсталлятор под .NET


15-1204621683
AndreyD
2008-03-04 12:08
2008.04.20
TMPHexEdit и русские буквы


15-1204576135
Kolan
2008-03-03 23:28
2008.04.20
Думаю поставить терминал оплаты, поделитесь опытом.


15-1204610072
boriskb
2008-03-04 08:54
2008.04.20
Ябеда


15-1204623305
Lola
2008-03-04 12:35
2008.04.20
Как юзер "случайно" мог переформатировать флешку?




   Наверх