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

Вниз

Запрос - кол-во записей по условию   Найти похожие ветки 

 
TAN_K   (2004-11-18 14:54) [0]

Господа , здравствуйте !
Работаю с IBQuery1 , необходимо вывести на экран кол-во записей удовлетворяющих какому-то условию (на экране - Label1) .
ожно написать запрос :
IBQuery1.SQL.Add("Select count(*) from VW_TABL where POLE = "200"");
Но как написать ,  Label1.Caption := кол-во , не знаю .
Господа , если кто-то знает , подскажите . Понимаю , что вопрос простой , но ....
Всем спасибо .


 
HSolo ©   (2004-11-18 15:14) [1]

Например, так:
Label1.Caption := IBQuery1.Fields[0].AsString;


 
HSolo ©   (2004-11-18 15:16) [2]

Или так:
Label1.Caption := IntToStr(IBQuery1.Fields[0].AsInteger);


 
TAN_K   (2004-11-18 16:37) [3]

Спасибо за помощь . Написала такой код :
//  подсчет  общего кол-ва записей
 IBQuery2.Close;
 IBQuery2.SQL.Clear;
 IBQuery2.SQL.Add("Select count(*) from VW_Lkart");
 IBQuery2.Open;
 Label1.Caption := "Кол-во работников = " + inttostr(DataModule1.IBQuery2.Fields[0].AsInteger);  
// подсчет  кол-ва записей для ....
 IBQuery2.Close;
 IBQuery2.SQL.Clear;
 IBQuery2.SQL.Add("Select count(*) from VW_Lkart where POL = "М"");
 IBQuery2.Open;
 Label2.Caption := "Кол-во мужчин = " + inttostr(DataModule1.IBQuery2.Fields[0].AsInteger);  
// подсчет кол-ва записей для ....
 IBQuery2.Close;
 IBQuerySQL.Clear;
 IBQuery2.SQL.Add("Select count(*) from VW_Lkart where POL = "Ж"");
 DataModule1.IBQuery2.Open;
 Label21.Caption := "Кол-во женщин = " + inttostr(IBQuery2.Fields[0].AsInteger);    
//
//  Запрос , кторый должен отображаться в Grid
 IBQuery2.Close;
 IBQuery2.SQL.Clear;
 IBQuery2.SQL.Add("Select * from VW_Lkart");
 IBQuery2.SQL.Add("Order by FAM,IM,OT");
 IBQuery2.Open;

Кол-во записей прекрасно подсчитывается и показывается на экране в Label1 - 3 , но перед отображением  GRID выдает сообщение об ошибке - List index ... [1] и на экране отображает только одно поле , которое было отведено под COUNT(*) , но оно пусто , а все поля не отображаются .
Какую еще мелочь я не учла ?
Всем спасибо .


 
HSolo ©   (2004-11-18 17:22) [4]

А что, собственно, должно отображаться в гриде?


 
Vemer ©   (2004-11-18 17:38) [5]

У меня так:
IbQuery.Open;
IbQuery.Fetchall;
Label.Caption := "Кол-во записей: " + IntToStr (IbQuery.RecordCount);


 
HSolo ©   (2004-11-18 17:48) [6]

>Vemer ©   (18.11.04 17:38) [5]
Можно и так - если Вам в любом случае нужна вся выборка целиком. Но если речь идет только о количестве записей (а TAN_K спрашивает именно об этом) - то надо ли тянуть на клиента, быть может, тысячи и тысячи записей только ради того, чтобы сосчитать, сколько их? Пусть лучше сервер сосчитает и вернет одно-единственное число


 
ЮЮ ©   (2004-11-19 03:47) [7]

Заведи другой IBQuery для подсчета количества или отключай DataSource y грида на период манипуляций с  IBQuery2, т.к. и результаты этих запросов тоже выводятся в Грмд, просто ты не успеваншь их увидеть

>List index ... [1]
В каком то обработчике, надеясь, что там уже запрос "Select * from VW_Lkart" обращаешься к IBQuery2.Fields[1], а его нет, т.к. запрос "Select count(*) from VW_Lkart where POL = "Ж"" возвражает только одно поле



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

Форум: "Базы";
Текущий архив: 2004.12.19;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.47 MB
Время: 0.035 c
4-1099920881
Wontar
2004-11-08 16:34
2004.12.19
COM1. Определитель Номера.


4-1099647728
огого
2004-11-05 12:42
2004.12.19
работа с com портами


1-1102067677
Игорь нтк
2004-12-03 12:54
2004.12.19
Edit без ini-файла


1-1101906164
cvg
2004-12-01 16:02
2004.12.19
Почему показывает график только после выхода из проги???


1-1102076409
Mouserx
2004-12-03 15:20
2004.12.19
Помогите состыковатся с DLL написаной на C





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