| Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
| Форум программистов > Delphi: Базы данных и репортинг > Выборка по заданному параметру |
| Автор: dize 18.8.2009, 10:48 | ||
Есть 2 таблицы в бд "Dengi" и "groups", связанные по ключевому полю id_group. Необходимо из дочерней таблицы сделать выборку всех значений одного столбца Kod_klienta, где поле id_group пустое. После этого добавить в листбокс. Вроде элементарная задача, а ругается, что "предоставлены несовместимые или неполные данные"..
|
| Автор: Frees 18.8.2009, 11:02 | ||
напиши как то так
|
| Автор: dize 18.8.2009, 11:11 |
| Пробовал и так..ошибка синтаксиса в выражении "Kod_klienta WHERE id_group is NULL", если исправить на "Kod_klienta WHERE id_group:=' ' ", ругается как раньше. |
| Автор: Данкинг 18.8.2009, 11:40 |
| А если кавычки двойные поставить? |
| Автор: dize 18.8.2009, 11:47 | ||
Тоже самое. |
| Автор: Frees 18.8.2009, 11:49 | ||
|
| Автор: dize 18.8.2009, 11:57 |
| unterminated string |
| Автор: Frees 18.8.2009, 12:09 |
| субд какая? что значит пустое(null или пустая строка)?? какой тип поля?? |
| Автор: dize 18.8.2009, 12:22 |
| Null, integer. |
| Автор: Akella 18.8.2009, 12:35 | ||||
это в какой такой базе данных синтаксис дельфи? может так?
или так?
|
| Автор: Frees 18.8.2009, 12:36 |
всегда false |
| Автор: dize 18.8.2009, 12:37 |
Access...там я и не такого насмотрелся. Если убрать " : ", то пишет, что пропущен оператор в этом выражении. |
| Автор: Akella 18.8.2009, 12:38 |
Неужели так тяжело сообщать сразу кто или что ругается, где и в какой строке кода? А также версию IDE, СУБД (название и версию), компоненты доступа.... Уже на всех форумах тырнета раз по 500 писали, что на форумах телепатов нет. Ну что за детский сад? Мы здесь что, собрались загадки отгадывать или помощь друг другу оказывать? Добавлено через 3 минуты и 53 секунды Сначала оттестируй запрос в самой среде Access. |
| Автор: dize 18.8.2009, 13:17 | ||||
| Access 2000, метод доступа ADO. Только что пробил запрос через access, вот что вышло. В случае, если он имеет данный вид:
То отображаются корректные данные по всем Kod_klienta с id_group равным 2. В случае, если:
То выводит пустое поле по кодам клиента. Значение по умолчанию в таблице dengi у поля id_group - 0. Но так как они связаны с другой таблицей, где нет этого значения, то он и не находит ничего. Все-таки интересно как разрешить данную ситуацию. |
| Автор: Akella 18.8.2009, 15:59 |
| Тебе про null намекали? Даже явного говорили. |
| Автор: Akella 18.8.2009, 19:31 |
Это вторичный ключ (внешний). А разве внешний ключ не может содержать пустые значения? |
| Автор: former 18.8.2009, 19:57 |
Ну это смотря как он определен. Подозреваю, что у dize он NotNull, поэтому и выскакивает сообщение: Добавлено через 3 минуты и 23 секунды Ну и это тоже необходимо: |