![]() |
|
|
![]()
|
|
| oleg153 |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 34 Регистрация: 1.3.2007 Репутация: нет Всего: нет |
Не могу передать в ADOQuery значение SQL-запроса.
Если писать в редакторе - проблем нет, но присвоить не получается Собственно запрос ------------------- Select * from data_record where rDate='20090210' and rTime='1235' and (rState in ('1','2')) ------------------- но как его присвоить ? ADOQuery1.Close; ADOQuery1.SQL.Add(' select * '); ADOQuery1.SQL.Add(' from data_record '); ADOQuery1.SQL.Add(' where rDate=:'20090210' and rTime=:'1235' and (rState in ('1','2')) '); Понятно что последнюю строку с ' которые обозначают текстовые константы Дельфи не переваривает. Как можно это сделать ? Это сообщение отредактировал(а) oleg153 - 26.2.2009, 16:52 |
|||
|
||||
| pseud |
|
|||
![]() Экспёрт Тыдыщ ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1175 Регистрация: 18.5.2007 Где: Минск, Беларусь Репутация: 16 Всего: 40 |
хотя бы так
-------------------- Испытание чужого терпения можно считать успешным, если оно лопнуло... |
|||
|
||||
| oleg153 |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 34 Регистрация: 1.3.2007 Репутация: нет Всего: нет |
Вроде понял что '20090210' можно заменить на "20090210"
но (rState in ("1","2")) все равно не проходит. Пишет что "неверное имя столбца '2'. Понятно что можно задать через OR , но если значений с которыми сравниваем не 2 а много то получиться слишком громоздко. |
|||
|
||||
| oleg153 |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 34 Регистрация: 1.3.2007 Репутация: нет Всего: нет |
Вариант
Не проходит. Ошибка сразу в значении столбца rDate |
|||
|
||||
| pseud |
|
|||
![]() Экспёрт Тыдыщ ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1175 Регистрация: 18.5.2007 Где: Минск, Беларусь Репутация: 16 Всего: 40 |
тогда выкладывай описание твоей таблицы. а именно - типы полей. -------------------- Испытание чужого терпения можно считать успешным, если оно лопнуло... |
|||
|
||||
| oleg153 |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 34 Регистрация: 1.3.2007 Репутация: нет Всего: нет |
Простейшая таблица, все поля varchar
|
|||
|
||||
| Kbl4AH |
|
||||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 741 Регистрация: 1.4.2008 Где: Вятка Репутация: 6 Всего: 15 |
или так
Это сообщение отредактировал(а) Kbl4AH - 26.2.2009, 18:57 |
||||
|
|||||
| oleg153 |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 34 Регистрация: 1.3.2007 Репутация: нет Всего: нет |
Казалось все просто, но заставить работать не могу.
Сначала не знал как запрос с обозначением текстовой константы. Заменил на " " вроде проверка прошла. Но проблема в том что у меня часть запроса задается параметрами, а часть это фиксированные значения. И ничего не работает
Таблица имеет все текстовые поля , и передаю соответственно текстовые значения. Нехотел использовать OR вместо IN, ну ладно. Но почему теперь дает ошибку : Неправильно определен обьект Parameter. Предоставлены несовместимые или неполные сведения. Как в запросе соединять значения определяемые как параметры (Prm(i) и значения в виде ТЕКСТОВЫХ которые являются константами и которые в обычном SQL-запросе нужно выделять кавычками 'text'. ? |
|||
|
||||
| oleg153 |
|
||||
|
Новичок Профиль Группа: Участник Сообщений: 34 Регистрация: 1.3.2007 Репутация: нет Всего: нет |
Помогает если налепить подряд несколько кавычек. Но логики я понять немогу....
или если вместо Текстовых констант идут числа , которые пишутся в базе в текстовые поля, тогда
Такой вариант работает. Но я пока не могу понять что в данной записи обозначают три кавычки подряд ? Почему при их использовании строка не "распадается" ??? |
||||
|
|||||
| Akella |
|
|||
![]() Творец ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 18485 Регистрация: 14.5.2003 Где: Корусант Репутация: 29 Всего: 329 |
||||
|
||||
| pseud |
|
||||
![]() Экспёрт Тыдыщ ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1175 Регистрация: 18.5.2007 Где: Минск, Беларусь Репутация: 16 Всего: 40 |
oleg153,
к чему двоеточие? Добавлено через 2 минуты и 9 секунд oleg153, разъясняю пост Акеллы
-------------------- Испытание чужого терпения можно считать успешным, если оно лопнуло... |
||||
|
|||||
| oleg153 |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 34 Регистрация: 1.3.2007 Репутация: нет Всего: нет |
Спасибо, все понял и сделал.
Вопрос можно считать закрытым ! |
|||
|
||||
![]()
|
| Правила форума "Delphi: Базы данных и репортинг" | |
|
|
Запрещено: 1. Публиковать ссылки на вскрытые компоненты 2. Обсуждать взлом компонентов и делиться вскрытыми компонентами Обязательно указание: 1. Базы данных (Paradox, Oracle и т.п.) 2. Способа доступа (ADO, BDE и т.д.)
FAQ раздела лежит здесь! Если Вам помогли и атмосфера форума Вам понравилась, то заходите к нам чаще! С уважением, Vit, Петрович. |
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | Delphi: Базы данных и репортинг | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |