Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Кол-во записей в БАЗЕ INTERBASE [D7, IB6.x]


Russko ©   (2004-12-27 10:21:00) 

Я выполняю запрос:
Query6.SQL.Clear;
Query6.SQL.Add('select * from main_base_svod where (gost_mat="'+gost+'")and(F_S="'+(first)+'")and(gost_prok="'+gost_pr+'") ');
Query6.OPen;
Затем смотрю Query6.RecordCount и он равен 0, хотя должен быть равен 9.
Проблема в (gost_mat="'+gost+'"). Если gost пустая строка, то он всегда возвращает RecordCount=0
КАК ЭТО ИСПРАВИТЬ -ПОДСКАЖИТЕ ПОЖАЛУЙСТА


DSKalugin   (2004-12-27 12:38:00) [1]

Если хочешь знать количество для этого есть другой немножко запрос.

Query6.SQL.Clear;
Query6.SQL.Add('select count(*)from main_base_svod where (gost_mat="'+gost+'")and(F_S="'+(first)+'")and(gost_prok="'+gost_pr+'") ');
Query6.OPen;


Russko   (2004-12-27 11:09:00) [2]

а почему Paradox понимал, если строка пустая, то пустая !


Sergey13   (2004-12-27 11:02:00) [3]

2 [8] Russko   (27.12.04 10:58)
Перечитай [2]


Russko   (2004-12-27 10:58:00) [4]

2 Sergey13 ©
Да но переменная может быть и не пустой, я не могу в запросе просто вставить gost_mat is null


Соловьев   (2004-12-27 10:48:00) [5]

Затем смотрю Query6.RecordCount и он равен 0, хотя должен быть равен 9.

Ну нужно сделать во-первых - QUery6.FetchAll;
Но это я бы сказал - барство. А для подсчета, юзать такой же запрос, но вместо полей count(*) и дергать такой запрос через IBSQL.

И откажысь ты от IBQeury - IBDataSet надо юзать.


Sergey13   (2004-12-27 10:47:00) [6]

gost_mat is null


Russko   (2004-12-27 10:45:00) [7]

)) Подскажи как можно это объяснить, каким образом записать, просто трудно переходить с локальной базы на сетевую ((
Пустая - значит ничего не заносилось ))
Тип поля gost_mat- varchar(30)


Sergey13   (2004-12-27 10:40:00) [8]

2[3] Russko   (27.12.04 10:34)
Ты определись - что такое "пустая". Пробел тоже кажетсяпустотой. Но это не так. Как и ''.

>чтобы InterBase понимал:
Твоя задача - объяснить ему это.


Russko   (2004-12-27 10:34:00) [9]

Мдя, так то оно так, но gost не всегда может быть пустым. Вопрос в том, какой тип для это переменной использовать, чтобы InterBase понимал: если переменная gost-пустая, то и надо искать где gost_mat - тоже пустая


Sergey13   (2004-12-27 10:30:00) [10]

Ну дык, если ты динамически составляешь запрос, то можно и прореагировать на "Если gost пустая строка". Или вообще выкинуть из запроса, или написать gost_mat is null - смотря что надо.


Russko   (2004-12-27 10:24:00) [11]

Да, переменная gost - string.
Чувствую, что идёт не совпадение типов ((


Наверх

Титульная страница Поиск, карта сайта Написать письмо