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

Вниз

ShowMessage(InttoStr(Query5.RecordCount));   Найти похожие ветки 

 
wHammer ©   (2003-02-13 09:36) [0]

Или я настолько туп, или даже незнаю что...

Дело вот в чем, пробую вывести на экран вышеуказанное сообщение, но даже в пустом TDataSet, RecordCount возвращает единицу(1), что в моем понятии означает, ОДНУ запись??? Конечно можно воспользоваться SQL, но хотелось бы знать причину?

С наилучшими...
Александр.


 
Соловьев ©   (2003-02-13 09:39) [1]

Используй SQL:
Select count(*)
from table


 
Stas ©   (2003-02-13 09:51) [2]

Незнаю как это у тебя получается. Я попробовал у себя, у меня все работает правильно, может у тебя в запрос как-то построен не так ?


 
Johnmen ©   (2003-02-13 09:55) [3]

Причина проста - записи реально не подкачаны, пока в них не возникла необходимость...:)
Хотя, в случае BDE, это странно.........


 
wHammer ©   (2003-02-13 09:59) [4]

to Stas

Запрос следующий:

select IDFilial, DateOtgr, IDNameIzd, sum(Kol) as KolSum
from PlanProdajFilial
where (IDFilial = :fFilial) and (DateOtgr = :fDate)
group by IDFilial, DateOtgr, IDNameIzd


Визуально в DBGrid записей нет! Но RecordCount упорно твердит мне - 1.


 
Соловьев ©   (2003-02-13 10:03) [5]

тут в какой-то ветке обсуждалось, про эту траблу посмотри.


 
Романов Р.В. ©   (2003-02-13 10:08) [6]

В таком запросе всегда хотя бы одна запись будет.


 
Stas ©   (2003-02-13 10:08) [7]

Ну, да это что-то странное. Попробуй сделать простой запрос и проверь будет ли он правильно отображать RecordCount.
Запрос типа Select * from IDFilial.


 
Stas ©   (2003-02-13 10:12) [8]

to Романов. Почему ? если поля с параметром не совпадают, то и записи быть недолжно !


 
Anatoly Podgoretsky ©   (2003-02-13 10:12) [9]

Попробуй это убрать и снова посмотреть


 
Романов Р.В. ©   (2003-02-13 10:17) [10]

Stas © (13.02.03 10:12)
IDFilial = null, DateOtgr = null, IDNameIzd = null, sum(Kol) as KolSum = 0


 
wHammer ©   (2003-02-13 10:19) [11]

Пробовал так:

with DataModule1 do
begin
Query5.Close;
Query5.ParamByName("fFilial").asInteger := CurrIDFilial;
Query5.ParamByName("fDate").asDate := NDate;
Query5.Open;
ShowMessage(Query5DateOtgr.AsString);
end;


...по тем датам, где есть продажи (иначе: в тех запросах, где есть записи) ShowMessage возвращет конкретное значение, если продаж нет ShowMessage возвращает пустое значение (""). Можно конечно и на это завязаться, однако остается вопрос - что заставляет RecordCount возвращать единицу?


 
wHammer ©   (2003-02-13 10:21) [12]

to Романов Р.В. © (13.02.03 10:17)

Т.е, в принципе, на null и надо делать проверку...


 
Stas ©   (2003-02-13 10:23) [13]

To Романов Р.В. - Точно!!!
В моем сообщении (13.02.03 10:08) Ошибка (Запрос типа Select * from IDFilial) Нужно писать так: (Запрос типа Select * from PlanProdajFillial)- но это уже не актуально.


 
Романов Р.В. ©   (2003-02-13 10:27) [14]

Я в аналогичном случае так поступил
if (qryCargo.RecordCount = 1) and (qryCargo.FieldValues[_fIdnCargo] = null) then
qryCargo.Active := False;


 
wHammer ©   (2003-02-13 10:34) [15]

Спасибо за разъяснение!!!

С наилучшими...
Александр.



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

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

Наверх




Память: 0.49 MB
Время: 0.017 c
1-5588
$Hic0
2003-02-19 19:31
2003.03.03
Панель со скрулером


7-5884
YanVal
2003-01-04 11:52
2003.03.03
Управление настройками рабочего стола


14-5833
V-Isa
2003-02-12 19:10
2003.03.03
Нет такой программы, которую нельзя было бы сделать ...


7-5897
Big_Rom
2003-01-02 19:41
2003.03.03
Глюк с os


14-5819
Romkin
2003-02-12 15:06
2003.03.03
Что вы думаете о результатах?