![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
ShowMessage(InttoStr(Query5.RecordCount)); [D5, Paradox]
wHammer © (2003-02-13 09:36:00)Или я настолько туп, или даже незнаю что...
Дело вот в чем, пробую вывести на экран вышеуказанное сообщение, но даже в пустом TDataSet, RecordCount возвращает единицу(1), что в моем понятии означает, ОДНУ запись??? Конечно можно воспользоваться SQL, но хотелось бы знать причину?
С наилучшими...
Александр.
wHammer (2003-02-13 10:34:00) [1]Спасибо за разъяснение!!!
С наилучшими...
Александр.
Романов Р.В. (2003-02-13 10:27:00) [2]Я в аналогичном случае так поступил
if (qryCargo.RecordCount = 1) and (qryCargo.FieldValues[_fIdnCargo] = null) then
qryCargo.Active := False;
Stas (2003-02-13 10:23:00) [3]To Романов Р.В. - Точно!!!
В моем сообщении (13.02.03 10:08) Ошибка (Запрос типа Select * from IDFilial) Нужно писать так: (Запрос типа Select * from PlanProdajFillial)- но это уже не актуально.
wHammer (2003-02-13 10:21:00) [4]to Романов Р.В. © (13.02.03 10:17)
Т.е, в принципе, на null и надо делать проверку...
wHammer (2003-02-13 10:19:00) [5]Пробовал так:
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 возвращать единицу?
Романов Р.В. (2003-02-13 10:17:00) [6]Stas © (13.02.03 10:12)
IDFilial = null, DateOtgr = null, IDNameIzd = null, sum(Kol) as KolSum = 0
Stas (2003-02-13 10:12:00) [7]to Романов. Почему ? если поля с параметром не совпадают, то и записи быть недолжно !
Anatoly Podgoretsky (2003-02-13 10:12:00) [8]Попробуй это убрать и снова посмотреть
Романов Р.В. (2003-02-13 10:08:00) [9]В таком запросе всегда хотя бы одна запись будет.
Stas (2003-02-13 10:08:00) [10]Ну, да это что-то странное. Попробуй сделать простой запрос и проверь будет ли он правильно отображать RecordCount.
Запрос типа Select * from IDFilial.
Соловьев (2003-02-13 10:03:00) [11]тут в какой-то ветке обсуждалось, про эту траблу посмотри.
wHammer (2003-02-13 09:59:00) [12]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.
Johnmen (2003-02-13 09:55:00) [13]Причина проста - записи реально не подкачаны, пока в них не возникла необходимость...:)
Хотя, в случае BDE, это странно.........
Stas (2003-02-13 09:51:00) [14]Незнаю как это у тебя получается. Я попробовал у себя, у меня все работает правильно, может у тебя в запрос как-то построен не так ?
Соловьев (2003-02-13 09:39:00) [15]Используй SQL:
Select count(*)
from table