Поиск:

Ответ в темуСоздание новой темы Создание опроса
> C++ и Access 
V
    Опции темы
BOB4uK
  Дата 29.10.2009, 19:21 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


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

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



В акцессе написал запрос:
SELECT FIO FROM Client WHERE FIO LIKE "Ко*";

Отобрать всех клиентов с фамилией начинающейся на "Ко".
В самом акцессе запрос работает нормально, но в Builder C++ при использовании ADOQuery результат равен нулю... почему понять не могу!

Другие запросы по выборке отрабатывают нормально!

В чем может быть дело?
PM MAIL ICQ   Вверх
jonie
Дата 30.10.2009, 08:55 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Завсегдатай
Сообщений: 5613
Регистрация: 21.8.2005
Где: Владимир

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



Цитата

Код

... LIKE "Ко*";

.... Отобрать всех клиентов с фамилией начинающейся на "Ко"....
да ну? SQL поменяли что ли?



--------------------
Что-то не поняли? -> Напейтесь до зеленых человечков... эта сверхцивилизация Вам поможет...
PM MAIL Jabber   Вверх
mrbrooks
Дата 30.10.2009, 14:14 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


трололомен
****


Профиль
Группа: Завсегдатай
Сообщений: 4259
Регистрация: 4.10.2006
Где: Дол Гулдур

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



Цитата(jonie @  30.10.2009,  08:55 Найти цитируемый пост)
да ну? SQL поменяли что ли?

SQL в аксесе конечно еще та песня.  smile 
Но собственно - ничего с точки зрения последнего противозаконного нет.
Что этот запрос: 
Код

SELECT FIO FROM Client WHERE FIO LIKE "Ко*";


что этот:
Код

SELECT FIO FROM Client WHERE FIO LIKE 'Ко*';


вернет один и тот же результат (как это не удивительно) в 2003 по крайней мере.

Думаю проблема скорее всего в ADOQuery, а именно его использование. 
BOB4uK, даешь код!
PM MAIL   Вверх
BOB4uK
Дата 30.10.2009, 15:51 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


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

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



Пробовал другой запрос без использования LIKE (просто выборку) все работает на ура! А вот LIKE не хочет!

Вам код нужен уже с БД или только пример использования?

Кстате, пробовал написать запрос в акцессе и затем его подгрузить через ADOTable, та же песня: в акцессе работает а на форме нет!
PM MAIL ICQ   Вверх
Данкинг
Дата 30.10.2009, 16:05 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Yersinia pestis
****


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

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



А так?
Код

SELECT FIO FROM Client WHERE FIO LIKE "Ко%"




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


Опытный
**


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

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



Так не работает, потому что акцесс немного отличается от формата SQL
PM MAIL ICQ   Вверх
Данкинг
Дата 30.10.2009, 16:50 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Yersinia pestis
****


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

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



Цитата(BOB4uK @  30.10.2009,  16:43 Найти цитируемый пост)
Так не работает, потому что акцесс немного отличается от формата SQL 

Через ADO у меня с % всё работает. smile А если попробовать ..."%А%", то выберутся записи, содержащие букву "А" ?

И не Access отличается, а просто диалекты SQL у каждой СУБД свои. smile 

Это сообщение отредактировал(а) Данкинг - 30.10.2009, 16:51


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


Опытный
**


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

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



Данкинг
Спасибо!
Написал запрос в акцесс с применением "%" вместо "*", в акцессе не работает, а через программу на форме работает...
Не понимаю в чем разница, но работает!

Спасибо!
PM MAIL ICQ   Вверх
Данкинг
Дата 31.10.2009, 11:14 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Yersinia pestis
****


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

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



Цитата(BOB4uK @  31.10.2009,  10:16 Найти цитируемый пост)
Не понимаю в чем разница, но работает!

Не знаю, Access вообще иногда понять трудно. smile 


--------------------
There's nothing left but silent epitaphs.
PM MAIL WWW   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "C++: Базы данных"
chipset

Данный форум предназначен для обсуждения вопросов прямым образом связанных с C++ и БД. Так, вопросы только по C++ следует задавать в C++:Общие вопросы а вопросы по абстрактным БД в Базах данных или в соответствующих под-форумах.

Благодарим за понимание.


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

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


 




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


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

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