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

Вниз

Кол-во записей в БАЗЕ INTERBASE   Найти похожие ветки 

 
Russko   (2004-12-27 10:21) [0]

Я выполняю запрос:
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
КАК ЭТО ИСПРАВИТЬ -ПОДСКАЖИТЕ ПОЖАЛУЙСТА


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

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


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

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


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

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


 
Sergey13 ©   (2004-12-27 10:40) [4]

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

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


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

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


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

gost_mat is null


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

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

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

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


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

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


 
Sergey13 ©   (2004-12-27 11:02) [9]

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


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

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


 
DSKalugin ©   (2004-12-27 12:38) [11]

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

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;



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

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

Наверх




Память: 0.49 MB
Время: 0.051 c
3-1103765055
Vader
2004-12-23 04:24
2005.01.30
ADO и dbExpress использование для локальных БД


3-1103973504
Step[B.M.]
2004-12-25 14:18
2005.01.30
Как с помощью SQL вывести 1 первый символ cтроки? испол. FireBird


14-1105136702
pika
2005-01-08 01:25
2005.01.30
Кто как готовится к предстоящим экзаменам !!!


14-1105616345
DSKalugin
2005-01-13 14:39
2005.01.30
порекомендуйте софт для создания справочных систем


3-1103049469
TheEd
2004-12-14 21:37
2005.01.30
Как корректно защититься от краха Paradox-баз