Поиск:

Ответ в темуСоздание новой темы Создание опроса
> не возвращает данные из access, не работает простой запрос на выборку 
V
    Опции темы
aleksh
Дата 31.8.2010, 10:30 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


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

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



Чем пользуюсь - файлик mdb, в нем таблица, из delphi 2007 пытаюсь сделать выборку через ado

составляю простой запрос
Код

select * from tablog
where module = 'asdf'

и ничего не получаю в грид
имя таблицы и значение копировал из access-а
данные в ячейки, ниоткуда не подтягиваются
выборка по другим столбцам работает

почему такое может происходить и где искать что поченить?
PM MAIL   Вверх
Deniz
Дата 31.8.2010, 11:25 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1251
Регистрация: 16.10.2004
Где: Новый Уренгой

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



Вероятно module зарезервированное слово


--------------------
"Для того чтобы сделать шаг вперед, достаточно пинка сзади" (с)
PM ICQ   Вверх
pseud
Дата 31.8.2010, 11:42 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Экспёрт Тыдыщ
***


Профиль
Группа: Завсегдатай
Сообщений: 1175
Регистрация: 18.5.2007
Где: Минск, Беларусь

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



Цитата(Deniz @  31.8.2010,  11:25 Найти цитируемый пост)
Вероятно module зарезервированное слово 

значит попытаться выполнить этот запрос прямо в Access для подтверждения.
Цитата(aleksh @  31.8.2010,  10:30 Найти цитируемый пост)
почему такое может происходить и где искать что поченить? 

Цитата(aleksh @  31.8.2010,  10:30 Найти цитируемый пост)
через ado

Конкретнее?
Как открываешь соединение?
Какой компонент как выборку используешь? Как его открываешь? Как его подключаешь к гриду?
Без грида изучи, что происходит:
Код

ADOQuery1.Active := True;
if not ADOQuery1.IsEmpty then
  ShowMessage(IntToStr(ADOQuery1.RecordCount));

Копай.


--------------------
Испытание чужого терпения можно считать успешным, если оно лопнуло...
PM MAIL   Вверх
Данкинг
Дата 31.8.2010, 12:41 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Yersinia pestis
****


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

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



На самом Access'е такой запрос отлично работает:
Код

select * from t where module = 'aaa'

Т.е. ошибки в подключении/гриде.


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


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1251
Регистрация: 16.10.2004
Где: Новый Уренгой

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



aleksh, все-ьто надо было:
Код
select * from tablog where [module] = 'asdf'



--------------------
"Для того чтобы сделать шаг вперед, достаточно пинка сзади" (с)
PM ICQ   Вверх
aleksh
Дата 31.8.2010, 15:27 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


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

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



toDeniz: спасибо, таки действительно достаточно взять название в скобки. а что это, кстати меняет?
topseud: соединение в adoquery через connectionstring, открываю активацией query, к ней привязан datasource, а к нему dbgrid

хотя не все проблемы решились, есть один столбец, где повторяющаяся одна строковая запись и несколько пустых ячеек, так вот при
Код

select * from tablog
where [user] <> 'system'

query таки пуста, но если эти строки вызывать по полю id возвращает нормально, а при таком же условии выборки в других столбцах с другими строками отрабатывает нормально. в аксесе тоже ничего не возвращает... ну да разберемся или спишем на "неправильный" файл

еще раз всем спасибо
PM MAIL   Вверх
pseud
Дата 31.8.2010, 16:13 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Экспёрт Тыдыщ
***


Профиль
Группа: Завсегдатай
Сообщений: 1175
Регистрация: 18.5.2007
Где: Минск, Беларусь

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



Код

select 
  * 
from 
  tablog
where 
  [user] is null
  or [user] <> 'system'


Добавлено через 1 минуту и 9 секунд
null = 'system'    - False
null <> 'system'    - тоже False


--------------------
Испытание чужого терпения можно считать успешным, если оно лопнуло...
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.0536 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


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

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