![]() |
|
|
![]()
|
|
| SkyHawk |
|
|||
![]() Бывалый ![]() Профиль Группа: Участник Сообщений: 164 Регистрация: 17.8.2006 Где: г. Новосибирск Репутация: нет Всего: 2 |
Здравствуйте.
Такая проблема. Выполняю сортировку по выбранному полю посредством SQL-запроса (оператор ORDER BY) в базе данных Access через компонент ADOQuery (Builder). Запрос формирую так: если поле текстового формата, то в запрос добавляю кавычки, если числового, то кавычки не добавляю. А вот если формат "Дата", то вылетает EOleException: "Несоответствие типов данных в выражении условия отбора", хоть ставлю кавычки, хоть нет. Как можно побороть данную неприятность? --------------------
Быть может все, что может быть, И даже то, что быть не может. |
|||
|
||||
| Rodman |
|
|||
|
CIO ![]() ![]() ![]() ![]() Профиль Группа: Участник Сообщений: 6144 Регистрация: 7.5.2006 Где: Ukraine ⇛ Kyiv ci ty Репутация: 1 Всего: 122 |
тебе через параметры нужно делать. так эффективнее...
но без кода проги трудно судить о правильности твоих действий... |
|||
|
||||
| bas |
|
||||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 446 Регистрация: 14.8.2002 Где: Молдова, Кишинев Репутация: нет Всего: 2 |
А #01/10/2007# не пробовал ставить?
|
||||
|
|||||
| SkyHawk |
|
|||
![]() Бывалый ![]() Профиль Группа: Участник Сообщений: 164 Регистрация: 17.8.2006 Где: г. Новосибирск Репутация: нет Всего: 2 |
bas, спасибо большое! Респект и уважуха.
Rodman, а по-поводу параметризированных запросов... Пробовал, не катит. Создал в свойстве Parameters компонента ADO1 два параметра: PoleSort и Text. В обработчике кнопки выполняю следующий код:
На что мне вылетает EDataBaseError ошибка: "Parameter 'PoleSort' not found". Причем вылетает при нажатии на кнопку, хотя при трассировке выполнение не доходит даже до первой строки приведенного выше кода. То есть, как я понимаю, выполняется проверка на наличие параметра, и не находит данный параметр. Но почему - я ведь создал его в свойстве Parameters? Не понимаю... --------------------
Быть может все, что может быть, И даже то, что быть не может. |
|||
|
||||
| Anikmar |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 2513 Регистрация: 26.11.2006 Где: Санкт-Петербург Репутация: нет Всего: 59 |
Лучше не использовать динамический запрос. - Введите в свойство SQL сразу строку where :PoleSort=:Text и уберите из программы строку ADO1->SQL->Strings[1]="where :PoleSort=:Text"; Причина: Если вы создаете параметры вручную, а потом меняете запрос, то компонент не всегда может определить тип параметра. Если вы сразу задали запрос с параметрами, в компоненте есть отдельное свойство (не помню как называется), оно отвечает за автоматический разбор строки запроса и выделение параметров. При изменении запроса в дизайн-тайме он может отследить это изменение. При изменении текста запроса программно - нет, надо вручную указывать. Может я немного ошибаюсь, но с такими проблемами сталкивался, и понял, что никакого смысла нет задавать текст запроса программно (именно в данном и похожем на него случаях). При работе с датами параметризированный запрос однозначно более универсален и работает устойчивей - так как сам определяет формат данных. |
|||
|
||||
| bas |
|
|||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 446 Регистрация: 14.8.2002 Где: Молдова, Кишинев Репутация: нет Всего: 2 |
||||
|
||||
| Anikmar |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 2513 Регистрация: 26.11.2006 Где: Санкт-Петербург Репутация: нет Всего: 59 |
||||
|
||||
![]()
|
| Правила форума "C++: Базы данных" | |
|
|
Данный форум предназначен для обсуждения вопросов прямым образом связанных с C++ и БД. Так, вопросы только по C++ следует задавать в C++:Общие вопросы а вопросы по абстрактным БД в Базах данных или в соответствующих под-форумах. Благодарим за понимание. Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, chipset. |
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | C/C++: Базы данных | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |