Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Выборка по заданному параметру, ... 
:(
    Опции темы
dize
Дата 18.8.2009, 10:48 (ссылка)    | (голосов:1) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 128
Регистрация: 1.7.2009

Репутация: нет
Всего: нет



Есть 2 таблицы в бд "Dengi" и "groups", связанные по ключевому полю id_group. Необходимо из дочерней таблицы сделать выборку всех значений одного столбца Kod_klienta, где поле id_group пустое. После этого добавить в листбокс. Вроде элементарная задача, а ругается, что "предоставлены несовместимые или неполные данные"..
Код

begin
  ListBox1.Items.Clear;
  ADOQ_kod.active:=false;
  ADOQ_kod.SQL.Text:='select * FROM dengi order by Kod_klienta WHERE id_group:=' ';';
  ADOQ_kod.open;
  ADOQ_kod.First;
    While not ADOQ_kod.eof do
      begin
        ListBox1.Items.add(ADOQ_kod.fieldbyname('Kod_klienta').AsString);
        ADOQ_kod.Next;
      end;
  ADOQ_kod.active:=false;
end;


Это сообщение отредактировал(а) dize - 18.8.2009, 10:52
--------------------
- Скажите, Большой Брат существует в том же смысле что и я? - Вы не существуете.
PM MAIL   Вверх
Frees
Дата 18.8.2009, 11:02 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Завсегдатай
Сообщений: 2233
Регистрация: 2.12.2005
Где: Екатеринбург

Репутация: 23
Всего: 54



напиши как то так


Код

...
 with ADOQ_kod do
 begin
  Close;
  SQL.Text:='select * FROM dengi order by Kod_klienta WHERE id_group is NULL';
  open;
  First;
end
...




--------------------
Кольцов Виктор Владимирович
PM MAIL ICQ   Вверх
dize
Дата 18.8.2009, 11:11 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 128
Регистрация: 1.7.2009

Репутация: нет
Всего: нет



Пробовал и так..ошибка синтаксиса в выражении "Kod_klienta WHERE id_group is NULL", если исправить на "Kod_klienta WHERE id_group:=' ' ", ругается как раньше.
--------------------
- Скажите, Большой Брат существует в том же смысле что и я? - Вы не существуете.
PM MAIL   Вверх
Данкинг
Дата 18.8.2009, 11:40 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Yersinia pestis
****


Профиль
Группа: Завсегдатай
Сообщений: 8302
Регистрация: 7.11.2006
Где: მოსკოვი

Репутация: 35
Всего: 130



А если кавычки двойные поставить?


--------------------
There's nothing left but silent epitaphs.
PM MAIL WWW   Вверх
dize
Дата 18.8.2009, 11:47 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 128
Регистрация: 1.7.2009

Репутация: нет
Всего: нет



Цитата(Данкинг @ 18.8.2009,  11:40)
А если кавычки двойные поставить?

Тоже самое.
--------------------
- Скажите, Большой Брат существует в том же смысле что и я? - Вы не существуете.
PM MAIL   Вверх
Frees
Дата 18.8.2009, 11:49 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Завсегдатай
Сообщений: 2233
Регистрация: 2.12.2005
Где: Екатеринбург

Репутация: 23
Всего: 54



Код

ADOQ_kod.SQL.Text:='select * FROM dengi order by Kod_klienta WHERE id_group ='#39#39;



--------------------
Кольцов Виктор Владимирович
PM MAIL ICQ   Вверх
dize
Дата 18.8.2009, 11:57 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 128
Регистрация: 1.7.2009

Репутация: нет
Всего: нет



unterminated string
--------------------
- Скажите, Большой Брат существует в том же смысле что и я? - Вы не существуете.
PM MAIL   Вверх
Frees
Дата 18.8.2009, 12:09 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Завсегдатай
Сообщений: 2233
Регистрация: 2.12.2005
Где: Екатеринбург

Репутация: 23
Всего: 54



субд какая?
Цитата(dize @  18.8.2009,  13:48 Найти цитируемый пост)
где поле id_group пустое

что значит пустое(null или пустая строка)?? какой тип поля??


--------------------
Кольцов Виктор Владимирович
PM MAIL ICQ   Вверх
dize
Дата 18.8.2009, 12:22 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 128
Регистрация: 1.7.2009

Репутация: нет
Всего: нет



Null, integer.
--------------------
- Скажите, Большой Брат существует в том же смысле что и я? - Вы не существуете.
PM MAIL   Вверх
Akella
Дата 18.8.2009, 12:35 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Творец
****


Профиль
Группа: Модератор
Сообщений: 18485
Регистрация: 14.5.2003
Где: Корусант

Репутация: 29
Всего: 329



Цитата(dize @  18.8.2009,  10:48 Найти цитируемый пост)
d_group:=

это в какой такой базе данных синтаксис дельфи?

может так?
Код

where id_group = null


или так?
Код

where id_group is null

PM MAIL   Вверх
Frees
Дата 18.8.2009, 12:36 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Завсегдатай
Сообщений: 2233
Регистрация: 2.12.2005
Где: Екатеринбург

Репутация: 23
Всего: 54



Цитата(Akella @  18.8.2009,  15:35 Найти цитируемый пост)
where id_group = null

всегда false


--------------------
Кольцов Виктор Владимирович
PM MAIL ICQ   Вверх
dize
Дата 18.8.2009, 12:37 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 128
Регистрация: 1.7.2009

Репутация: нет
Всего: нет



Цитата(Akella @  18.8.2009,  12:35 Найти цитируемый пост)
это в какой такой базе данных синтаксис дельфи?

Access...там я и не такого насмотрелся. Если убрать " : ", то пишет, что пропущен оператор в этом выражении.

--------------------
- Скажите, Большой Брат существует в том же смысле что и я? - Вы не существуете.
PM MAIL   Вверх
Akella
Дата 18.8.2009, 12:38 (ссылка) |    (голосов:1) Загрузка ... Загрузка ... Быстрая цитата Цитата


Творец
****


Профиль
Группа: Модератор
Сообщений: 18485
Регистрация: 14.5.2003
Где: Корусант

Репутация: 29
Всего: 329



Цитата(dize @  18.8.2009,  10:48 Найти цитируемый пост)
ругается, что "предоставлены несовместимые или неполные данные"..

Неужели так тяжело сообщать сразу кто или что ругается, где и в какой строке кода? А также версию IDE, СУБД (название и версию), компоненты доступа.... smile  smile  smile 
Уже на всех форумах тырнета раз по 500 писали, что на форумах телепатов нет. Ну что за детский сад? Мы здесь что, собрались загадки отгадывать или помощь друг другу оказывать? smile

Добавлено через 3 минуты и 53 секунды
Сначала оттестируй запрос в самой среде Access.

Это сообщение отредактировал(а) Akella - 18.8.2009, 12:41
PM MAIL   Вверх
dize
Дата 18.8.2009, 13:17 (ссылка)    | (голосов:2) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 128
Регистрация: 1.7.2009

Репутация: нет
Всего: нет



Access 2000, метод доступа ADO.
Только что пробил запрос через access, вот что вышло.
В случае, если он имеет данный вид:
Код

SELECT kod_klienta
FROM dengi INNER JOIN groups ON groups.id_group=Dengi.id_group
WHERE dengi.id_group=2;

То отображаются корректные данные по всем Kod_klienta с id_group равным 2.

В случае, если:
Код

SELECT kod_klienta
FROM dengi INNER JOIN groups ON groups.id_group=Dengi.id_group
WHERE dengi.id_group=0; // или dengi.id_group=null
 
То выводит пустое поле по кодам клиента.
Значение по умолчанию в таблице dengi у поля id_group - 0. Но так как они связаны с другой таблицей, где нет этого значения, то он и не находит ничего. Все-таки интересно как разрешить данную ситуацию.
--------------------
- Скажите, Большой Брат существует в том же смысле что и я? - Вы не существуете.
PM MAIL   Вверх
Akella
Дата 18.8.2009, 15:59 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Творец
****


Профиль
Группа: Модератор
Сообщений: 18485
Регистрация: 14.5.2003
Где: Корусант

Репутация: 29
Всего: 329



Тебе про null намекали? Даже явного говорили. smile 
PM MAIL   Вверх
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Delphi: Базы данных и репортинг"
Vit
Петрович

Запрещено:

1. Публиковать ссылки на вскрытые компоненты

2. Обсуждать взлом компонентов и делиться вскрытыми компонентами


Обязательно указание:

1. Базы данных (Paradox, Oracle и т.п.)

2. Способа доступа (ADO, BDE и т.д.)


  • Литературу по Дельфи обсуждаем здесь
  • Действия модераторов можно обсудить здесь
  • С просьбами о написании курсовой, реферата и т.п. обращаться сюда
  • Вопросы по реализации алгоритмов рассматриваются здесь
  • 90% ответов на свои вопросы можно найти в DRKB (Delphi Russian Knowledge Base) - крупнейшем в рунете сборнике материалов по Дельфи
  • Вопросы по SQL и вопросы по базам данных не связанные с Дельфи задавать здесь

FAQ раздела лежит здесь!


Если Вам помогли и атмосфера форума Вам понравилась, то заходите к нам чаще! С уважением, Vit, Петрович.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Delphi: Базы данных и репортинг | Следующая тема »


 




[ Время генерации скрипта: 0.0546 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.