![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
DataSource.DataSet.IsEmpty [D7]
UVV © (2005-02-01 20:05:00)DataSource.DataSet.IsEmpty возвращеет false при пустом запросе, как с этим бороться?
UVV (2005-02-10 01:27:00) [1]Всем спасибо, решил вот этим способом!
DataSource.DataSet.Fields[<indexКлючевогоИлмNotNullПоля>].IsNull
Reindeer Moss Eater (2005-02-02 17:54:00) [2]А теперь скажи мне, как Delphi узнает что лежит в поле, если сам Оракл не знает что у него лежит в поле - пустая строка или null?
Может Delphi монетку подбрасывает?
OnThink (2005-02-02 17:53:00) [3]на сколько я понимаю данный сайт называется не PLSQLmaster.ru
а как-то подругому
с результирующим датасетом мы работаем в делфях
Reindeer Moss Eater (2005-02-02 16:47:00) [4]А для делфей имеет разницу.
Чушь.
Для самого Оракла нет разницы между пустой строкой и NULL.
Сам Оракл не ответит на вопрос что у него в поле пустая строка или нулл.
Нельзя средствами ни SQL ни PLSQL отличить пустую строку от NULL.
OnThink (2005-02-02 16:43:00) [5]А для делфей имеет разницу.
Для делфей '' - это значение переменной.
И даже, если в поле null, строк от этого меньше не становится.
Reindeer Moss Eater (2005-02-02 16:29:00) [6]Для оракла это не имеет разницы.
Пустая строка это всегда нулл.
OnThink (2005-02-02 16:28:00) [7]to [20]
там где должен быть NULL там пустая строка
об этом собственно сабж
Reindeer Moss Eater (2005-02-02 16:06:00) [8]Плохо, что в данном случае верно обратное.
Что именно "верно" и какое именно "обратное"?
OnThink (2005-02-02 15:51:00) [9][14] Правильно но зависит от сложности запроса. Иногда стоит поиграть именно с результатом выборки.
[16] Рекордкаунт будет 1
[18] Это замечательно. Плохо, что в данном случае верно обратное.
Я проверял на рекордкаунт и в случае 1 проверял первое (и единственное) поле на пустую строку.
Reindeer Moss Eater (2005-02-02 14:40:00) [10]OnThink © (02.02.05 10:31) [11]
С ораклом это всегда так
когда null, а когда пустая строка
это фича/глюк БД
В Оракле пустая строка это всегда NULL. И это не баг, а фича.
Соловьев (2005-02-02 14:38:00) [11]имхо [14] самый надежный вариант
msguns (2005-02-02 14:31:00) [12]А чем RecordCount не подходит ?
Правда для запросов с агрегатами он не "катит", но тогда isNull первому групповому полю
Deniz (2005-02-02 14:24:00) [13]>Johnmen © (02.02.05 09:40) [9]
Deniz (02.02.05 08:05) [7]
Примерно так IsEmpty и реализован...
Не знаю как там в ZeosDBO IsEmpty реализован, может там какие свои ноу-хау используют.
Sergey13 (2005-02-02 11:47:00) [14]2UVV © (01.02.05 20:05)
А что за запрос? Я такие вещи обычно обхожу гарантировано возвращая одну строку. Например добавляя count(*), его и анализирую.
DenK_vrtz (2005-02-02 11:41:00) [15]>OnThink © (02.02.05 10:31) [11]
>С ораклом это всегда так
>это фича/глюк БД
да неуже ли?
Соловьев (2005-02-02 10:57:00) [16]
> запрос должен вернуть либо одну запись, либо не одной!
прикольно.. филосовский я бы сказал вопрос :)
OnThink (2005-02-02 10:31:00) [17]С ораклом это всегда так
когда null, а когда пустая строка
это фича/глюк БД
Ega23 (2005-02-02 09:52:00) [18]DataSource.DataSet.IsEmpty возвращеет false при пустом запросе, как с этим бороться?
У нас на работе недавно было:
- Запрос возвращает пустую строку
- Т.е. "ничего"?
- Нет, ничего - это NULL, а запрос возвращает пустую строку...
Johnmen (2005-02-02 09:40:00) [19]Deniz (02.02.05 08:05) [7]
Примерно так IsEmpty и реализован...
Reindeer Moss Eater (2005-02-02 08:49:00) [20]Это обман зрения. Пустой датасет это всегда IsEmpty.